`

接口文档之 springboot 集成 swagger 和 swagger-bootstrap-ui

 
阅读更多
1.引入jar
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>${springfox-version}</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>${springfox-version}</version>
</dependency>
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>1.9.6</version>
</dependency>
2,config setting

@Configuration
@EnableSwagger2
@Profile({"dev","prod"})
public class SwaggerDocumentationConfig implements WebMvcConfigurer {
    ApiInfo apiInfo() {
        return new ApiInfoBuilder().title(xxxxxxx").description("有关HTTP Status Code的说明如下:\r\n"
+ "1. 200: 请求处理成功。再根据返回json中的errCode字段判断操作是否成功。若errCode0,说明操作成功。不同的接口会返回不同的data信息。若errCode不为0,说明请求失败;\r\n"
+ "2. 400: 请求的参数不正确;\r\n" + "3. 401: 用户未登录;\r\n" + "4. 403: 无权限访问;\r\n" +
                "5. 404: 资源不存在;\r\n"
+ "6. 500: 后台代码错误;\r\n"
+ "7. 100001: 用户不存在;\r\n"
+ "8. 100002: 用户被禁止;\r\n"
+ "9. 100003: 用户密码错误;\r\n"
+ "10. 100006: sn格式错误;\r\n"
+ "11. 100008: sn对应设备不支持远程管理;\r\n"
+ "13. 100010: snmac不匹配;\r\n"
+ "14. 100011: 设备已绑定;\r\n"
+ "15. 100012: 新增设备失败;\r\n"
+ "16. 100013: 特征码不合法;\r\n"
+ "17. 100014: 特征码状态更新失败;\r\n"
+ "18. 100015: 特征码已使用、错误或不存在;\r\n"
+ "19. 100016: 用户标签已存在;\r\n"
+ "20. 100017: 新增用户标签失败;\r\n"
+ "21. 100018: 删除用户标签失败;\r\n"
+ "22. 100019: 删除用户标签不存在;\r\n"
+ "23. 100020: 设备不存在;\r\n"
+ "24. 100021: websocket发送数据错误;\r\n"
+ "25. 100022: 上传文件为空;\r\n"
+ "26. 100023: 上传文件格式错误;\r\n"
+ "27. 100024: 上传文件过大;\r\n"
+ "28. 100025: 文件未发现;\r\n"
+ "29. 100026: 下载文件失败;\r\n"
+ "30. 100027: 设备离线;\r\n"
+ "31. 100028: 设备推送数据错误;\r\n"
+ "32. 100029: 添加设备标签失败;\r\n"
+ "33. 100030: 设备标签已到最大数量;\r\n"
+ "\r\n"
+ "管理员登录账号:mythware_admin,密码:123456; \r\n"
+ "\r\n WebSocket发送命令格式:{ snList:[], cmdList:[], id:token }")
                .termsOfServiceUrl("").version("1.0.0").build();
}

    @Bean
public Docket customImplementation() {
        ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>();
tokenPar.name(Constants.HEADER_AUTH).description("登录令牌").modelRef(new ModelRef("string"))
                .parameterType("header").required(false).build();
pars.add(tokenPar.build());
        return new Docket(DocumentationType.SWAGGER_2).select()
                .apis(RequestHandlerSelectors.basePackage("com.screencast.web.controller")).build()
                .globalOperationParameters(pars).directModelSubstitute(Date.class, Long.class).apiInfo(apiInfo());
}

  



3排除静态文件
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
    registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
    registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}

4,查看文档
http://127.0.0.1:8089/doc.html


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics