栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

swagger的引入与使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

swagger的引入与使用

1.首先引入依赖

    io.springfox
    springfox-swagger2
    2.8.0


    io.springfox
    springfox-swagger-ui
    2.8.0
2.swagger配置文件,写在项目包下的config文件夹
package com.supconit.study.mybatis.xmltest.config;
import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.documentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
public class CustomSwaggerConfig {

    @Configuration
    @EnableSwagger2
    public static class SwaggerConfig {

        @Bean
        public Docket webApiConfig(){
            return new Docket(documentationType.SWAGGER_2)
                    .groupName("webApi")
                    .apiInfo(webApiInfo())
                    .select()
                    .build();
        }

        private ApiInfo webApiInfo(){
            return new ApiInfoBuilder()
                    .title("电商平台")
                    .description("本文档描述了某某电商平台微服务接口定义")
                    .version("1.0")
                    .contact(new Contact("111", "http://somc.top", "xxx@163.com"))
                    .build();
        }
    }
}
3.启动swagger:

可能会遇到下面的错误,这个的根本原因就是config文件没有扫描到。

有两种解决办法:

1.直接把@EnableSwagger2注解加在主启动类就可以,这样虽然能解决问题,但是这样会扫到使用的框架的接口,这种方法要慎用。

2.主启动类加上@ComponentScan("swagger配置类所在包"),以保证配置类被扫描到

最后解决问题之后就可以访问 你的配置文件的相关端口了,http://localhost:xxxx/swagger-ui.html

4.常用注解
@Api()用于类表示标识这个类是swagger的资源
@ApiOperation()用于方法表示一个http请求的操作
@ApiParam()用于方法,参数,字段说明表示对参数的添加元数据(说明或是否必填等)
@ApiModel()用于类表示对类进行说明,用于参数用实体类接收
@ApiModelProperty()用于方法,字段表示对model属性的说明或者数据操作更改
@ApiIgnore()用于类,方法,方法参数表示这个方法或者类被忽略
@ApiImplicitParam()用于方法表示单独的请求参数
@ApiImplicitParams()用于方法包含多个 @ApiImplicitParam

tags–表示说明
value–也是说明,可以使用tags替代
但是tags如果有多个值,会生成多个list

@Api(value="用户controller",tags={"用户操作接口"})
@RestController
public class UserController { }

未完待续。。。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/272295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号