您好,登錄后才能下訂單哦!
如何在SpringBoot中使用Swagger2?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
注意:jdk1.8以上才能運行swagger2
@Configuration @EnableSwagger2 public class SwaggerConfig{ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("org.example.yourproject"))//這里填寫項目package .paths(PathSelectors.any()) .build(); }//springfox為我們提供了一個Docket(摘要的意思)類,我們需要把它做成一個Bean注入到spring中, 顯然,我們需要一個配置文件,并通過一種方式(顯然它會是一個注解)告訴程序,這是一個Swagger配置文件。 private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2構建RESTful API") .description("rest api 文檔構建利器") .termsOfServiceUrl("https://www.cnblogs.com/yrxing/") .contact("xing") .version("1.0") .build(); } }//springfox允許我們將信息組合成一個ApiInfo的類,作為構造參數傳給Docket
訪問:http://localhost:{your_server_port}/swagger-ui.html
@RestController @RequestMapping(value = "/user", produces = APPLICATION_JSON_VALUE) //配置返回值 application/json @Api(tags = "用戶管理") public class HelloController { ArrayList<User> users = new ArrayList<>(); @ApiOperation(value = "獲取用戶列表", notes = "獲取所有用戶信息") @RequestMapping(value = {""}, method = RequestMethod.GET) public List<User> hello() { users.add(new User("邏輯", "luoji")); users.add(new User("葉文杰", "yewenjie")); return users; } }
@ApiModel(description = "用戶",value = "用戶") public class User { private String id; @ApiModelProperty(value = "用戶名")//value屬性指明了該字段的含義(描述 Description) private String username; @ApiModelProperty(hidden = true)//此注解可以作用在字段或者方法上,只要 hidden 屬性為 true ,該字段或者方法就不會被生成api文檔. private String password; private String email; private Integer age; private Boolean enabled; }
@ApiOperation(value = "獲取用戶詳細信息", notes = "根據url的id來獲取用戶詳細信息") @RequestMapping(value = "getUser/{id}", method = RequestMethod.GET) public User getUser(@ApiParam(naeme = "id",value = "用戶id", required = true) @PathVariable(value = "id") String id) { return new User(id, "itguang", "123456"); }//@ApiParam這個注解,需要注意的是,這個注解方法的參數前面,不能直接用在方法上面.
··· @Api("測試用例1") @Controller public class swaggerTestUse(){ @ApiOperation(value = "apiOperationSwaggerTest", notes = "apiOperationSwagger測試") @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id入參", required = true, dataType = "Integer", paramType = "query"), @ApiImplicitParam(name = "brand", value = "brand", required = true, dataType = "BRAND", paramType = "body") }) public void apiOperationSwaggerTest(Integer id, Brand band){ } }
關于如何在SpringBoot中使用Swagger2問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。