Spring boot集成swagger

http://editor.swagger.io/

 

 添加maven依赖

<!-- swagger2 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.8.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.8.0</version>
</dependency>

Config 文件

@Configuration
@EnableSwagger2
public class Swagger2 {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .enable(true)//是否开启swagger

                .useDefaultResponseMessages(false)//是否使用默认响应信息
                .globalResponseMessage(RequestMethod.OPTIONS, null)//全局响应信息,配合useDefaultResponseMessages使用

                .apiInfo(apiInfo())//使用下方apiInfo()方法的信息

                .select()
                .apis(RequestHandlerSelectors.basePackage("www.demo.com.controller"))//扫描哪个包的注解生成文档
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("demo")
                .description("demo")
                .termsOfServiceUrl("http://www.demo.com")
                .version("1.0")
                .build();
    }
}

访问

例:http://localhost:8080/swagger-ui.html (即:访问应用的根地址(http://localhost:8080/)  + swagger-ui.html)

常用注解:
- @Api()用于类;
标识这个类是swagger的资源

  • tags 说明
  • value 说明,可用tags替代


- @ApiOperation()用于方法;
表示一个http请求的操作

  • value 用于方法描述
  • notes 用于提示内容
  • tags 可以重新分组


- @ApiParam()用于方法,参数,字段说明;
对参数添加元数据(说明或是否必填等)

  • name 参数名
  • value 参数说明
  • required 是否必填


- @ApiModel()用于类
对类进行说明,用于参数用实体类接收

  • value 对象名
  • description 描述


- @ApiModelProperty()用于方法,字段
对model属性的说明或者数据操作更改

  • value 字段说明
  • name 重写属性名字
  • dataType 重写属性类型
  • required 是否必填
  • example 举例说明
  • hidden 隐藏


- @ApiIgnore()用于类,方法,方法参数
表示这个方法或者类被忽略


- @ApiImplicitParam() 用于方法
表示单独的请求参数

  • name 参数ming
  • value 参数说明
  • dataType 数据类型
  • paramType 参数类型
  • example 举例说明


- @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam

例子:

控制层

@Api(value="UserController",tags={"用户操作接口"})
@RestController
public class UserController {
	@ApiOperation(value="获取用户信息",tags={"获取用户信息copy"},notes="注意问题点")

	@ApiImplicitParams({
		@ApiImplicitParam(name="id",value="用户ID",dataType="long", paramType = "query")
		@ApiImplicitParam(name="name",value="用户名",dataType="string", paramType = "query",example="xiaoming"),
		})

	@GetMapping("/getUserInfo")
	public User getUserInfo(@ApiParam(name="id",value="用户ID",required=true) Long id,@ApiParam(name="username",value="用户名") String username) {
	return null;
  }
}

Model

@ApiModel(value="User对象",description="用户对象")
public class User implements Serializable{
    private static final long serialVersionUID = 1L;

	@ApiModelProperty(value="用户名",name="username",example="xiaoming")
	private String username;

	@ApiModelProperty(value="状态",name="state",required=true)
	private Integer state;
 
	@ApiModelProperty(value="ID数组",hidden=true)
	private String[] ids;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值