日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

postmapping注解_Swagger常用注解

發布時間:2024/7/23 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 postmapping注解_Swagger常用注解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在使用swagger時候如果掌握一些注解的使用,則在開發過程中測試的時候可以事半功倍,尤其在與前端技術進行聯調,前端技術在訪問swagger中的每個api時,可以很清楚的知道每個url對應的請求類型、參數類型、參數是否非必輸、參數個數等等,然后根據這些參數進行前端的快速開發,當然其他技術在測試功能的時候,也可以根據參數提示進行測試,下面介紹一些在開發過程中通常用的注解。

常用注解

1、@Api

說明每個controller層控制類的作用,即每個請求類
屬性:tags:描述該類的作用

2、@RestController

它是復合注解,代表的是一個控制器,由于它同時擁有@Controller和@ResponseBody的作用,所在如果要返回JSON數據,則不需要在方法上面加@ResponseBody注解,但是它不能返回jsp、html頁面

3、@RequestMapping、@GetMapping、@PostMapping、@PutMapping、@DeleteMapping

定義前端訪問的url,可以寫在控制類上,也可以寫在控制類匯總的方法上面,常用的的寫在控制類上面,一般會與它的衍生注解組合使用:@GetMapping 查詢請求@PostMapping 添加請求@PutMapping 修改請求@DeleteMapping 刪除請求

4、@ApiOperation

作用在控制類中的每個方法上,說明該類的作用
屬性:value:說明該類的作用
以上這幾個注解在代碼中的使用例子如下:

//說明該類的作用
@Api(tags = "學生信息")
//指明該類為控制器
@RestController
//設置請求路徑url
@RequestMapping("/student")
public class StudentController {
/**
* 根據id查詢學生信息
* @param id 學生id
* @return
*/
@ApiOperation(value = "根據id查詢學生信息")
@GetMapping("/query/{id}")
private List<Student> queryById( @ApiParam(value = "學生id", required = true) @PathVariable("id") Long id) {
List<Student> studentList = studentService.queryById(id);
return studentList;
}
}
swagger-ui展示結果如下:

5、@ApiParam

@ApiParam作用于請求方法上,定義api參數的注解,屬性有:
name:api參數的英文名
value:api參數的描述
required:true表示參數必輸,false標識參數非必輸,默認為非必輸
此注解通常與@RequestParam或者@PathVariable集合使用,因為它的作用只是定義每個參數(因此可以不使用,但是為了方便測試,加上效果更好),如果要獲取前端的參數還需要通過@RequestParam或者@PathVariable來獲取

6、@PathVariable

獲取get請求url路徑上的參數,即參數綁定的作用,通俗的說是url中"?"前面綁定的參數
代碼示例:

/**
* 根據id查詢學生信息
* @param id 學生id
* @return
*/
@ApiOperation(value = "根據id查詢學生信息")
@GetMapping("/query/{id}")
private List<Student> queryById( @ApiParam(name = "id", value = "學生id", required = true) @PathVariable("id") Long id) {
List<Student> studentList = studentService.queryById(id);
return studentList;
}
測試示例:


請求url示例:http://127.0.0.1:8080/student/query/1

7、@RequestParam

獲取前端傳過來的參數,可以是get、post請求,通俗的說是url中"?"后面拼接的每個參數
代碼示例:

/**
* 根據id查詢學生信息
* @param id 學生id
* @return
*/
@ApiOperation(value = "根據id查詢學生信息")
@GetMapping("/query/student")
private List<Student> queryByIdStu( @ApiParam(name = "byId", value = "學生id", required = false) @RequestParam("id") Long id) {
List<Student> studentList = studentService.queryById(id);
return studentList;
}
測試示例:


請求url示例:http://127.0.0.1:8080/student/query/student?id=1

8、 @ApiImplicitParams、@ApiImplicitParam

定義參數的注解除了@ApiParam之外,這兩個注解也可以定義參數
①、@ApiImplicitParams定義一組參數
②、@ApiImplicitParam寫在@ApiImplicitParams中,定義每個參數的信息,屬性為:
name:參數英文名稱
value:參數中文名稱
paramType:調用的url 參數形式,“query”為問號"?"后面的拼接參數,“path”為綁定的參數
代碼示例:

/**
* 學生信息查詢
* @param code 學生編號
* @param name 學會姓名
* @return
*/
@ApiImplicitParams({
@ApiImplicitParam(name = "code", value = "學生編號", paramType = "query", required = true),
@ApiImplicitParam(name = "name", value = "學會姓名", paramType = "query")
})
@ApiOperation(value = "查詢學生信息")
@PostMapping("/query/student")
private String queryStudent(@RequestParam String code, @RequestParam String name) {
studentService.queryStudent(code,name);
return "query success";
}
測試示例:

總結

以上是生活随笔為你收集整理的postmapping注解_Swagger常用注解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。