标签:
1 事情道理使用Spring Boot开发前、后端疏散的项目越来越多,而前、后端往往是由差此外开发人员或团队卖力。如果后端开发了一些REST接口,如何将这些接口即快速又准确地描述给前端开发人员呢?
Swagger供给了一种自动扫描生成API接口文档的技术实现
2 集成法式第一步,添加Maven依赖如下:
<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>
第二步,编写配置类;
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("API文档") .description("") .termsOfServiceUrl("") .version("1.0") .build(); } }
第三步,编写测试Controller:
@Api(description = "测试")
@RestController
@RequestMapping("/demo")
public class DemoController {
@RequestMapping(value = "/user", method = RequestMethod.GET)
public Object getUsers(@ApiParam(value = "名称") @RequestParam(required = false) String name) {
List list = new ArrayList();
list.add(name);
return list;
}
}
启动应用并访谒 :8080/swagger-ui.html
Swagger还供给了一些@注解用于详细的对API接口进行描述。
@Api:修饰整个类,描述Controller的感化。
@ApiOperation:描述一个类的一个要领,或者说一个接口。
@ApiParam:单个参数描述。
@ApiModel:用东西来接收参数。
@ApiProperty:用东西接收参数时,描述东西的一个字段。
@ApiResponse:HTTP响应此中一个描述。
@ApiResponses:HTTP响应整体描述。
@ApiIgnore:使用该注解忽略这个API。
@ApiError:产生错误返回的信息。
@ApiParamImplicit:一个请求参数。
@ApiParamsImplicit:多个请求参数。
4 安适问题这种果然的接口API文档一般只用于开发环境,在出产环境下会有必然的安适问题。此时可以通过在Swagger配置类上添加@Profile({"dev"})注解进行控制,,这样Swagger只有在dev这个profile下才会生效。
Swagger rest API 描述
标签:
原文地点:https://www.cnblogs.com/lovedaodao/p/8951811.html