1. 描述
一个springboot项目集成 springfox 3.0,使用swagger对 API 接口进行测试管理的 demo示例。
环境:
IDE(idea):.3JDK:1.8maven:3.8.4spring boot:2.5.6springfox:3.0.0
2. 结果
页面访问:http://localhost:8880/demo/swagger-ui/index.html3. demo
3.0 项目结构
3.1 pom.xml
引入 springfox jar包
<!-- springfox 3.X API doc框架, eg: swagger功能 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId></dependency>
3.2 SpringBootApplication 注解实现启动类
@SpringBootApplicationpublic class DemoSwaggerUiApplication {public static void main(String[] args) {SpringApplication.run(DemoSwaggerUiApplication.class, args);System.out.println("----- http://localhost:8880/demo/ -----");System.out.println("----- http://localhost:8880/demo/swagger-ui/index.html -----");}}
3.3 application.yml配置
server:port: 8880servlet:context-path: /demo
3.4 其他代码
Swagger3Config.java
@Configuration@EnableOpenApi // swagger版本2用的 @EnableSwagger2public class Swagger3Config {@Beanpublic Docket defaultApi() {return new Docket(DocumentationType.OAS_30).groupName("default-api").apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.demo.swagger.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {String swaggerUrl = "http://localhost:8880/demo/swagger-ui/index.html";return new ApiInfoBuilder().title("Swagger UI API").description("Swagger UI API 的一个demo示例").termsOfServiceUrl("http://localhost:8880/demo").contact(new Contact("byrc", swaggerUrl, "best54288@")).license("Apache License Version 2.0").licenseUrl("/springfox/springfox/blob/master/LICENSE").version("1.0.0").build();}
UserController .java
@Slf4j@RestController@RequestMapping("/user")@Api(tags = "用户管理")public class UserController {@GetMapping("/{id}")@ApiOperation(value = "主键查询", notes = "通过主键查询用户")public JsonResponse<User> get(@PathVariable @ApiParam("用户id") Integer id) {return JsonResponse.ok(new User(id, "白玉京", 23));}@DeleteMapping("/{id}")@ApiOperation(value = "删除用户", notes = "通过主键删除用户")public JsonResponse<String> delete(@PathVariable Integer id) {log.info("删除用户 {}", id);return JsonResponse.ok();}@PostMapping@ApiOperation(value = "添加用户")public JsonResponse<User> post(@RequestBody User user) {return JsonResponse.ok(user);}}
4. 资料
springfox 官网:http://springfox.github.io/springfoxspringfox github:/springfox/springfoxspringfox demo: /springfox/springfox-demos/blob/master/boot-swagger5. 注
spirng boot 已在父项目引入(父项目pom.xml配置);部分jar包版本已在父项目管理(如果对应不上,一定、肯定、决定是某些修改,没同步更新文档)。
如果觉得《spring boot 集成springfox 使用swagger对 API 接口进行测试管理的 demo 示例》对你有帮助,请点赞、收藏,并留下你的观点哦!