Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许 API 来始终保持同步。Swagger 让部署管理和使用功能强大的 API 从未如此简单。
下面介绍下如何在springboot 使用 Swagger
1、添加swagger2依赖的pom文件
pom架包
io.springfox springfox-swagger2 2.7.0 io.springfox springfox-swagger-ui 2.7.02、创建SwaggerConfig.java的配置文件
package me.longgen.cedar.project.court.assistant.controller;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.ParameterBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.schema.ModelRef; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Parameter; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList; import java.util.List; /**
- @author conan
*/ @Configuration @EnableSwagger2 public class SwaggerConfig {
@Bean
public Docket createRestApi() {
List<Parameter> pars = new ArrayList<Parameter>();
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.paths(PathSelectors.any())
.build()
.globalOperationParameters(pars)
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("net 学 RESTful API")
.description("描述描述")
.termsOfServiceUrl("https://www.baidu.com/")
.version("1.0")
.build();
}
}
3、添加注解
@Api(description = "ssss") public class ConsultController {
@Autowired
private ConsultService consultService;
@ApiOperation(value = "sssssssssssss", httpMethod = "GET")
@PostMapping("/dologin")
public R<Object> getCoupon(@RequestBody ConsultQuestion consult, HttpServletRequest request) {
启动
http://localhost:端口号/swagger-ui.html#! 启动项目数据网址就能点开