Swagger作为一款非常方便实用的在线API文档生成工具,就是其在线UI不耐看。今天我们来用Knife4j给Swagger换个皮肤,一起来试试吧!
Swagger
Swagger是最流行的API开发工具,它遵循OpenAPI规范。作为一款非常方便实用的在线API文档生成工具,在很多项目中都有运用,最为方便的地方在于,你的项目只要集成了它,一启动就能生成最新版文档。
因此我们常常在进入开发阶段时,后端就先完成API的定义,通过就可以给到前端,双方再并行进行开发,提升开发效率。
<!– swagger-ui –><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version></dependency><!– swagger –><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version></dependency>@EnableSwagger2@Configurationpublic class WebConfig implements WebMvcConfigurer { @Value("${spring.application.name}") private String applicationName; @Bean public Docket productApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title(applicationName) .version("1.0") .build(); }}@Api@RestController@RequestMapping("/v1")public class UserController { @PostMapping("/users") public ResponseEntity<User> addUser(@RequestHeader("tenantId") String tenantId,@Validated @RequestBody User user) { // TODO: do someing return ResponseEntity.ok(null); }}
swagger ui效果
Knife4j
Knife4j(https://doc.xiaominfo.com/)的初衷是为了写一个增强版本的swagger的前端ui,未来也将改造成Swagger接口文档服务的通用性解决方案
改造步骤
一、更新依赖
移除上述的springfox-swagger-ui,增加以下依赖
<!–引入Knife4j的官方start包–><dependency> <groupId>com.github.xiaoymin</groupId> <!–使用Swagger2–> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.0.9</version></dependency>
不用修改代码,即可查看效果
启动服务,打开浏览器,输入:
总结
通过Swagger+Knife4j的组合,让在线API文档显得更加清爽友好。小小改造即可收获效果,大家快试试吧
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。