1.引入依赖 <!-- knife4j --> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.0.4</version> </dependency>
2. 写配置文件 /** * Swagger文档,只有在测试环境才会使用 */ @Configuration @EnableSwagger2 @EnableKnife4j public class SwaggerConfiguration { @Bean public Docket baseRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.gmall.gcache.controller")) .paths(PathSelectors.any()) .build(); } @Bean public ApiInfo apiInfo() { return new ApiInfoBuilder().title("gCache项目接口文档") .description("gCache项目接口文档Swagger版") .termsOfServiceUrl("http://localhost:8080/gmall/cache/doc.html") .contact(new Contact("深圳市福旺达电子商务有限公司", "", "")) .version("1.0") .build(); } }
3.控制器和实体类-添加注解
@RestController @RequestMapping("/user") @Api(tags = "用户服务") public class UserController { private CaffeineCacheService caffeineCacheService; public UserController(CaffeineCacheService caffeineCacheService) { this.caffeineCacheService = caffeineCacheService; } @GetMapping("/queryUserList") @ApiOperation(value = "用户信息查询") @ApiImplicitParams(value = { @ApiImplicitParam(name = "userId", value = "用户ID", defaultValue = "", required = true) }) public ServerResponseEntity<UserVO> queryUserList(@RequestParam("userId") String userId) { UserVO userVO = caffeineCacheService.queryUser(userId); return ServerResponseEntity.success(userVO); } @PostMapping("/updateUserList") @ApiOperation(value = "用户信息修改") @ApiImplicitParams(value = { @ApiImplicitParam(name = "id", value = "用户ID", defaultValue = "", required = true), @ApiImplicitParam(name = "name", value = "用户名称", defaultValue = "") }) public ServerResponseEntity<UserVO> updateUserList(@RequestBody UserVO userVO) { UserVO resultVO = caffeineCacheService.updateUser(userVO.getId(), userVO); return ServerResponseEntity.success(resultVO); } }
@Data @NoArgsConstructor @AllArgsConstructor @ApiModel(value = "用户实体") public class UserVO extends BaseVO { /** 用户ID **/ @ApiModelProperty("用户ID") private String id; /** 用户名称 **/ @ApiModelProperty("用户名称") private String name; }
4.页面访问
http://localhost:8080/上下文/doc.html