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常用注解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python requests sess
- 下一篇: 光学字符识别 android,基于And