spring boots中使用swagger-bootstrap-ui

本人因公司项目需求所以查阅前辈资料得出此心得,如有不对请大佬指出,我加以改正。

简介

swagger-bootstrap-ui是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁、强大的接口文档体验。

核心功能

文档说明:根据Swagger的规范说明,详细列出接口文档的说明,包括接口地址、类型、请求示例、请求参数、响应示例、响应参数、响应码等信息,使用swagger-bootstrap-ui能根据该文档说明,对该接口的使用情况一目了然。

在线调试:提供在线接口联调的强大功能,自动解析当前接口参数,同时包含表单验证,调用参数可返回接口响应内容、headers、Curl请求命令实例、响应时间、响应状态码等信息,帮助开发者在线调试,而不必通过其他测试工具测试接口是否正确,简介、强大。

官网

https://doc.xiaominfo.com/guide/useful.html
附带官网链接,UI展示图我这就不上传了,感兴趣的可以上官网查看。
接下来我们直接开始。

1. Maven中引入Jar包


    io.springfox
    springfox-swagger2
    2.9.2

 

   com.github.xiaoymin
   swagger-bootstrap-ui
   1.9.3

可能还会用到以下包,我的项目里边有Hbase所以可能会有jar包冲突,具体也没有研究过,各位大神有知道的教教我,菜鸟在此谢谢了。所以各位根据自己的情况而定。


     org.springframework
      spring-aop
      4.3.12.RELEASE


     org.springframework
      spring-aspects
      4.3.12.RELEASE

2.编写SwaggerConfiguration.java

此类里边我只写了一个功能,各位根据情况写几个,其他的配置可到官网查看。

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.data.controller"))  //扫描你接口所在的位置
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
        //以下内容都是在swagger-bootstrap-ui首页展示的信息,根据自己情况编写
                .title("swagger-bootstrap-ui RESTful APIs")
                .description("简介")
                .termsOfServiceUrl("服务Url")
                .contact("<作者>")
                .version("1.0")
                .build();
    }
}

3.添加注解

3.1在接口类添加注解
@CrossOrigin 
@RestController
@RequestMapping("/api")
@Api(tags = "数据探索")  

在此特别说明下 @CrossOrigin ,此注解可有效的解决前后端跨域问题,亲测有效。也不一定适合所有项目,各位视情况而定。

@Api(tags = “tag”) 这个的分组名称,就是给你的接口起一个大名
@io.swagger.annotations.Api(tags = “接口的分组名”) 这种格式也是正确的

3.2 在接口方法上添加注解
@RequestMapping(value = "/exportProject",method = RequestMethod.POST) 
@ApiOperation(value = "数据导入库",notes = "数据导入库")  

第一个注解大家应该都很清楚, 他是接口名称以及请求方法,他还有一种写法:@PostMapping("/compReportTop"),这种也是可以的,get方法只更换POST即可。
第二个就是今天的知识点,value:接口名称;notes:接口描述。

3.3 在springboot的启动类上添加注解
@ConditionalOnClass(SpringfoxWebMvcConfiguration.class)
@EnableAspectJAutoProxy(proxyTargetClass = true)

完成以上操作然后启动项目你就可以访问swagger-bootstrap-ui,那么怎么访问呢?
http://${host}:${port}/doc.html
没错就是访问这个链接。

swagger-bootstrap-ui感觉与postman意思差不多,但比postman视觉和感觉上更直观一点,毕竟是自己编写的,各个名称都是自己起得,所以感觉会好一点,只是个人观点,只求勿骂。

界面与功能我在这就不说了,还得大家自己去了解,用几次你就知道了。

你可能感兴趣的:(spring boots中使用swagger-bootstrap-ui)