這里以springfox來使用:SpringFox是 spring 社區維護的一個項目(非官方),幫助使用者將 swagger2 集成到 Spring 中。常常用于 Spring 中幫助開發者生成文檔,并可以輕松的在spring boot中使用。
swagger3只需要導入一個依賴:
<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency>
在spring boot主類上標注@EnableOpenApi,瀏覽器訪問http://localhost:8080/swagger-ui/即可訪問到初始頁面:
maven java、
@Configuration
public class SwaggerConfig {@Beanpublic Docket desertsApi(){return new Docket(DocumentationType.OAS_30).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.deserts.swagger.controller")).paths(PathSelectors.any()).build().groupName("desertsGroup").enable(true);}private ApiInfo apiInfo(){return new ApiInfoBuilder().title("Swagger3測試文檔").description("文檔描述信息").contact(new Contact("deserts", "#", "2569509245@qq.com")).version("1.0").build();}
}
對應配置的結果:
swagger3的注解與swagger2相差很多,也兼容了swagger2的注解,區別如下:
springboot jwt?
標注在實體類上:
@Data
@ApiModel(value = "用戶類",description = "用戶")
public class User {@Schema(description = "用戶名")private String username;@Schema(description = "密碼")private String password;
}
標注在控制器上:
@RestController
@Api(tags = "用戶信息處理")
public class HelloController {@GetMapping("/user")@Operation(summary = "獲取用戶信息")@ApiImplicitParams({@ApiImplicitParam(name = "username", value = "用戶名"),@ApiImplicitParam(name = "password", value = "密碼")})public User getUser(@RequestParam("username")String username, @RequestParam("password")String password){User user = new User();user.setUsername(username);user.setPassword(password);return user;}
}
這里的@Paramters和@Parameter注解竟然不生效,具體原因找了挺久也沒有結果,有知道的朋友歡迎補充!
基于springboot,標注后的結果:
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</version></dependency>
直接訪問http://localhost:8080/doc.html
springboot啟動類。導出文檔:
這樣真的舒服了:
springboot官網。Swagger3 注解使用(Open API 3)
Swagger3配置
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态