sukbear

swagger

2019-05-15
sukbear
API

pom.xml

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

### 配置

@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder().title("xxx接口文档") .description("xxx接口文档") .termsOfServiceUrl("localhost") .version("1.0") .build(); } }

### 实体

@Data @ApiModel public class User { @ApiModelProperty("用户id") private int id; @ApiModelProperty("用户姓名") private String name; @ApiModelProperty("用户地址") private String address; }

### controller

@RestController @RequestMapping("/user") @Api(tags = "用户相关接口",description = "提供相关API") public class UserController { @ApiOperation("新增用户接口") @PostMapping("/add") public boolean adduser(@RequestBody User user){ return false; } @ApiOperation("通过id查用户") @PostMapping("/find/{id}") public User findById(@PathVariable("id") int id){ return new User(); } }

### 启动项目 ·访问http://localhost:8020/swagger-ui.html#/

注解

@Api: 描述 Controller @ApiIgnore: 忽略该 Controller,指不对当前类做扫描 @ApiOperation: 描述 Controller类中的 method接口 @ApiParam: 单个参数描述,与 @ApiImplicitParam不同的是,他是写在参数左侧的。如( @ApiParam(name="username",value="用户名")Stringusername) @ApiModel: 描述 POJO对象 @ApiProperty: 描述 POJO对象中的属性值 @ApiImplicitParam: 描述单个入参信息 @ApiImplicitParams: 描述多个入参信息 @ApiResponse: 描述单个出参信息 @ApiResponses: 描述多个出参信息 @ApiError: 接口错误所返回的信息


Comments

Content