千家信息网

spring mvc如何集成swagger-ui2

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇文章给大家分享的是有关spring mvc如何集成swagger-ui2,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1·sprin
千家信息网最后更新 2025年01月23日spring mvc如何集成swagger-ui2

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

1·spring mvc 构建 swagger-ui


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@EnableSwagger2public 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@RequestMappingpublic 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,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

0