关于swagger文档的使用方法

本文详细介绍如何在SpringBoot项目中集成Swagger2,包括引入依赖、配置类编写及接口注解使用等内容,帮助开发者快速掌握Swagger2的配置与应用。

引言

最近在后台开发的时候,使用swagger2进行前后台接口文档的声明。由此遇见的一些问题,写下来给自己复习。

参考:

https://blog.youkuaiyun.com/xupeng874395012/article/details/68946676

 

正文

在进行整合swagger2的时候,首先引入swagger2的jar,由于我使用的是springboot,所以以springboot为例。

<!--springboot 集成 swagger-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.5.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.5.0</version>
</dependency>

引入swagger2的jar包之后,我们需要配置一个swagger2的配置类,来声明一些swagger2的配置信息

这样的话,swagger2就已经配置完毕了。接下来你只需要在你的接口上配置你想要显示的信息即可。

 

@Configuration  //表示是配置类,要被加载
@EnableSwagger2 //swagger的配置
public class Swagger2 {

    @Bean
    public Docket createRestApi(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))  //添加ApiOperiation注解的被扫描
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo(){
        Contact contact = new Contact("xx", "www.baidu.com", "xxx@126.com");
        return new ApiInfoBuilder()
                .title("cc").contact(contact).description("接口文档").license("Apache License Version 2.0")
                .version("v1.0").build();
    }
}

接口上信息的配置如下:

@RestController
@Api(value = "user",  tags = "用户模块")
@RequestMapping("user")
public class UserController extends BaseController {

    @Resource
    private UserService userService;

    @ApiOperation(value = "用户添加")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "user",value = "用户" ,required = true,dataType = "String", paramType = "body")
    })
    @RequestMapping(value = "addUser",method = RequestMethod.POST)
    public ResultBean addUser(User user){
        return  resultBean;
    }
}

关于其中@Api和@ApiOperation等的详细解释如下:

作用范围API使用位置
对象属性@ApiModelProperty用于出入参数对象的字段上
协议集描述@Api用于Controller类上
协议描述@ApiOperation用在Controller的方法上
Response集@ApiResponses用在controller的方法上
Response@ApiResponse用在 @ApiResponses里边
非对象参数集@ApiImplicitParams用在controller的方法上
非对象参数描述@ApiImplicitParam用在@ApiImplicitParams的方法里边
描述返回对象的意义@ApiModel用在返回对象类上

 

关于参数的详细解释

属性取值作用
paramType 查询参数类型
 path以地址的形式提交数据
 query直接跟参数完成自动映射赋值
 body以流的形式提交 仅支持POST
 header参数在request headers 里边提交
 form以form表单的形式提交 仅支持POST
dataType 参数的数据类型 只作为标志说明,并没有实际验证
 Long 
 String 
name 接收参数名(必须与方法中参数名一致)
value 接收参数的意义描述(描述信息)
required 参数是否必填
 true必填
 false非必填
defaultValue 默认值


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值