springmvc如何集成swagger-ui2

本篇文章给大家分享的是有关spring mvc如何集成swagger-ui2,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

目前成都创新互联已为上1000+的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器租用、企业网站设计、荣昌网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

1·spring mvc 构建 swagger-ui

spring mvc如何集成swagger-ui2
spring mvc如何集成swagger-ui2

1·添加依赖


   com.google.guava
   guava
   27.0.1-jre




    com.github.xiaoymin

    swagger-bootstrap-ui

    1.9.6







    io.springfox

    springfox-swagger2

    2.7.0







    io.springfox

    springfox-swagger-ui

    2.7.0

2`添加swagger资源文件



3·拦截器放行swagger资源文件





4·swagger请求授权



5·创建swagger的配置类

package swagger;



import io.swagger.annotations.ApiOperation;

import org.springframework.context.annotation.Bean;

import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;

import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

import springfox.documentation.builders.ApiInfoBuilder;

import springfox.documentation.builders.PathSelectors;

import springfox.documentation.builders.RequestHandlerSelectors;

import springfox.documentation.service.ApiInfo;

import springfox.documentation.spi.DocumentationType;

import springfox.documentation.spring.web.plugins.Docket;

import springfox.documentation.swagger2.annotations.EnableSwagger2;



//启用Swagger2

@EnableSwagger2

public class Swagger2Config extends WebMvcConfigurationSupport {



    @Bean

    public Docket createRestApi() {

        return new Docket(DocumentationType.SWAGGER_2)

                .apiInfo(apiInfo()).select()

                //扫描指定包中的swagger注解

                //.apis(RequestHandlerSelectors.basePackage("com.xia.controller"))

                //扫描所有有注解的api,用这种方式更灵活

                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))

                .paths(PathSelectors.any())

                .build();

    }





    @Bean

    private ApiInfo apiInfo() {

        return new ApiInfoBuilder()

                .title("基础平台 RESTful APIs")

                .description("基础平台 RESTful 风格的接口文档,内容详细,极大的减少了前后端的沟通成本,同时确保代码与文档保持高度一致,极大的减少维护文档的时间。")

                .termsOfServiceUrl("http://xiachengwei5.coding.me")

                .version("1.0.0")

                .termsOfServiceUrl("http://xxx.xxx.com")

                .license("LICENSE")

                .licenseUrl("http://xxx.xxx.com")

                .build();

    }





    @Override

    public void addViewControllers(ViewControllerRegistry registry) {

        registry.addRedirectViewController("/docApi/v2/api-docs", "/v2/api-docs");

        registry.addRedirectViewController("/docApi/swagger-resources/configuration/ui", "/swagger-resources/configuration/ui");

        registry.addRedirectViewController("/docApi/swagger-resources/configuration/security", "/swagger-resources/configuration/security");

        registry.addRedirectViewController("/docApi/swagger-resources", "/swagger-resources");

    }



    @Override

    public void addResourceHandlers(ResourceHandlerRegistry registry) {

        registry.addResourceHandler("/docApi/swagger-ui.html**").addResourceLocations("classpath:/META-INF/resources/swagger-ui.html");

        registry.addResourceHandler("/docApi/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");

    }



}

6·加载swagger配置类

7·运行项目访问地址:ip/项目名/doc.html

swagger常用注解:
@ApiIgnore 注解可以忽略这个类、方法、参数
@Api(tags={"这里写controller的注释"})

@Api(tags={"知识库接口"})
@RestController
@RequestMapping
public class InfoController {

@ApiOperation(value = "方法描述")

@ApiOperation(value = "获取某法律法规详情数据")
	@RequestMapping(value = "/info", method = RequestMethod.GET)
	public Info getInfoById(

@ApiParam(name="id",value = "方法参数描述")

public Info getInfoById(
			@ApiParam(name="id",value = "法律法规的ID") @RequestParam("id") String id)

@ApiModelProperty(value="实体字段描述")

	@ApiModelProperty(value="ID")
	private String id;

@ApiModel(value = "实体类描述")

@ApiModel(value = "info:法律法规实体")
public class Info

以上就是spring mvc如何集成swagger-ui2,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


本文标题:springmvc如何集成swagger-ui2
网址分享:http://ybzwz.com/article/jpgggs.html