SpringBoot整合Swagger(十一)常用註解介紹 | Java隨筆記

語言: CN / TW / HK

「這是我參與11月更文挑戰的第28天,活動詳情檢視:2021最後一次更文挑戰


相關文章

Java隨筆記:Java隨筆記


前言

  • 上篇文章沒有介紹完所有的常用註解,今天來補充最後四個常用註解。
  • 還有一些其他的註解,感興趣的小夥伴們可以自行研究了,在此筆者不在贅述了。
  • 平時我們在開發過程中,可以酌情使用。
  • 希望對你們有所幫助。
  • 不要嫌棄我水著分開發,為了更文活動,不寒磣!你懂得!

一、ApiResponse

  • @ApiResponse 用於方法上,說明介面響應的一些資訊。
  • @RestController @Api(tags = "Swagger測試類") public class SwaggerTestController {    @ApiResponse(code = 200,message = "success", response = StudentResponse.class)    @RequestMapping(value = "test-swagger",method = RequestMethod.GET)    @ApiOperation(value = "查詢學生詳情",notes = "引數為id")    public StudentResponse dyTest(){        return new StudentResponse();   } }
  • 效果如下:
  • image-20211129221220096.png

二、ApiResponses

  • 上面的只定義了200的狀態碼,如果是500呢?
  • @ApiResponses就是多個@ApiResponse組裝起來。
  • @RestController @Api(tags = "Swagger測試類") public class SwaggerTestController { //   @ApiResponse(code = 200,message = "success", response = StudentResponse.class)    @ApiResponses({@ApiResponse(code = 200,message = "success", response = StudentResponse.class),            @ApiResponse(code = 500,message = "failed", response = StudentResponse.class)})    @RequestMapping(value = "test-swagger",method = RequestMethod.GET)    @ApiOperation(value = "查詢學生詳情",notes = "引數為id")    public StudentResponse dyTest(){        return new StudentResponse();   } }
  • 效果如下:
  • image-20211129221454085.png

三、ApiImplicitParam

  • 如果我們的引數較少的時候,比如,根據id查詢指定資料詳細資訊的時候,我們總不能單獨建個實體來描述吧?
  • 通常我們的做法時,五個引數以下時,可以通過ApiImplicitParam來對引數進行描述。
  • 當然,只限於Get請求,如果是新增、修改等操作,PostPut請求時還是以實體類為主!
  • @ApiImplicitParam用於方法上,為單獨的請求引數進行說明。
  • @RestController @Api(tags = "Swagger測試類") public class SwaggerTestController {    @ApiResponses({@ApiResponse(code = 200,message = "success", response = StudentResponse.class),            @ApiResponse(code = 500,message = "failed", response = StudentResponse.class)})    @RequestMapping(value = "test-swagger",method = RequestMethod.GET)    @ApiOperation(value = "查詢學生詳情",notes = "引數為id")    @ApiImplicitParam(name = "id", value = "學生ID", dataType = "string", paramType = "query", required = true, defaultValue = "1")    public StudentResponse dyTest(String id){        return new StudentResponse();   } }
  • 效果如下:
  • image-20211129222607574.png

四、ApiImplicitParams

  • 多個引數時,ApiImplicitParam可能就滿足不了我們的要求了,這時候需要組裝下!
  • 同樣的,多個@ApiImplicitParam組裝起來。
  • @RestController @Api(tags = "Swagger測試類") public class SwaggerTestController {    @ApiResponses({@ApiResponse(code = 200,message = "success", response = StudentResponse.class),            @ApiResponse(code = 500,message = "failed", response = StudentResponse.class)})    @RequestMapping(value = "test-swagger",method = RequestMethod.GET)    @ApiOperation(value = "查詢學生詳情",notes = "引數為id") //   @ApiImplicitParam(name = "id", value = "學生ID", dataType = "string", paramType = "query", required = true, defaultValue = "1")    @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "學生ID", dataType = "string", paramType = "query", required = true, defaultValue = "1"),            @ApiImplicitParam(name = "name", value = "學生姓名", dataType = "string", paramType = "query", required = true, defaultValue = "1")})    public StudentResponse dyTest(String id){        return new StudentResponse();   } } ​
  • 效果如下:
  • image-20211129222839545.png

總結

  • 到這裡Swagger系列是真的結束了。再也沒有東西可講了。
  • 看完本系列的所有文章,相信你對Swagger有了相對來說比較深得了解了。
  • 希望對你有所幫助,本系列不說是全網最詳細也差不多啦吧!
  • 哈哈哈,我可以整理了很多的才最終整合出來的!
  • 本系列文章都是個人見解,如有不對,敬請指出~
  • 輕噴!謝謝~

路漫漫其修遠兮,吾必將上下求索~

如果你認為i博主寫的不錯!寫作不易,請點贊、關注、評論給博主一個鼓勵吧~hahah