<!-- swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
新建一个类Swagger2Conf,类名随便写
@Configuration @EnableSwagger2 public class Swagger2Conf { @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() //这是扫描swagger2注解的包路径,根据项目实际编写 .apis(RequestHandlerSelectors.basePackage("com.ouou.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo(){ return new ApiInfoBuilder() .title("swagger构建api文档") .description("") .version("1.0") .build(); } }
注意:这个类要加上 @Configuration 和 @EnableSwagger2 注解,@EnableSwagger2这个注解也可以写在启动类上。
@ApiOperation 对接口的描述
@ApiParam 对接口参数的描述 (用于普通参数上)
@ApiModelProperty 对接口参数的描述(用于对象的属性上)
新建一个Dto类,用于接收参数
public class UserDto { //@ApiModelProperty用于对象的属性上 @ApiModelProperty(value="用户id") private String id; @ApiModelProperty(value="名称") private String name; @ApiModelProperty(value="性别") private String sex;
新建Controller类
@RestController public class HelloController { @GetMapping("/user/getUser/{name}/{sex}") @ApiOperation(value="根据条件查询用户信息") public User getUser(@ApiParam(value="名称",required=true) @PathVariable("name") String name,@ApiParam("性别") @PathVariable("sex") String sex){ User user = new User(); user.setId("1"); user.setName("欧欧专区"); user.setSex("女"); return user; } @PostMapping("/user/updateUser") @ApiOperation(value="根据条件更新用户信息") public User updateUser(UserDto userDto){ User user = new User(); user.setId(userDto.getId()); user.setSex(userDto.getSex()); user.setName(userDto.getName()); return user; } @PostMapping("/user/update2User") @ApiOperation(value="根据条件更新用户信息 参数为body") public User update2User(@RequestBody UserDto userDto){ User user = new User(); user.setId(userDto.getId()); user.setSex(userDto.getSex()); user.setName(userDto.getName()); return user; } }
访问swagger2
原文:https://www.cnblogs.com/tanouou/p/12072803.html