From 064bf4c78118bfa4c88fbef617fbf72764f57d34 Mon Sep 17 00:00:00 2001 From: Vks Date: Mon, 24 Feb 2025 09:04:01 +0800 Subject: [PATCH] swagger api docs --- Assignment1/backend/Assignments/pom.xml | 14 +++++--------- .../Assignments/AssignmentsApplication.java | 2 -- .../Assignments/config/Swagger2Config.java | 6 ------ .../Assignments/config/SwaggerConfig.java | 15 +++++++++++++++ .../Assignments/controller/UserController.java | 8 ++++++++ .../src/main/resources/application.yaml | 8 ++++++++ 6 files changed, 36 insertions(+), 17 deletions(-) delete mode 100644 Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/config/Swagger2Config.java create mode 100644 Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/config/SwaggerConfig.java diff --git a/Assignment1/backend/Assignments/pom.xml b/Assignment1/backend/Assignments/pom.xml index c335d47..bad8201 100644 --- a/Assignment1/backend/Assignments/pom.xml +++ b/Assignment1/backend/Assignments/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-starter-parent - 2.7.3 + 3.4.3 com.cyberlanting @@ -27,7 +27,7 @@ - 8 + 17 @@ -44,15 +44,11 @@ lombok provided - - com.github.xiaoymin - knife4j - 3.0.2 - pom + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.8.5 - - diff --git a/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/AssignmentsApplication.java b/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/AssignmentsApplication.java index 0a02cc0..c397e0e 100644 --- a/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/AssignmentsApplication.java +++ b/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/AssignmentsApplication.java @@ -1,10 +1,8 @@ package com.cyberlanting.Assignments; -import com.spring4all.swagger.EnableSwagger2Doc; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -@EnableSwagger2Doc @SpringBootApplication public class AssignmentsApplication { diff --git a/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/config/Swagger2Config.java b/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/config/Swagger2Config.java deleted file mode 100644 index 875944d..0000000 --- a/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/config/Swagger2Config.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.cyberlanting.Assignments.config; - -public class Swagger2Config { - - private ApiInfo admian -} diff --git a/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/config/SwaggerConfig.java b/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/config/SwaggerConfig.java new file mode 100644 index 0000000..511ac38 --- /dev/null +++ b/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/config/SwaggerConfig.java @@ -0,0 +1,15 @@ +package com.cyberlanting.Assignments.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class SwaggerConfig implements WebMvcConfigurer { + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("/swagger-ui/**") + .addResourceLocations("classpath:/META-INF/resources/webjars/springdoc-openapi-ui/") + .resourceChain(false); + } +} diff --git a/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/controller/UserController.java b/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/controller/UserController.java index 43401ab..60589dd 100644 --- a/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/controller/UserController.java +++ b/Assignment1/backend/Assignments/src/main/java/com/cyberlanting/Assignments/controller/UserController.java @@ -1,10 +1,13 @@ package com.cyberlanting.Assignments.controller; import com.cyberlanting.Assignments.pojo.User; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.web.bind.annotation.*; import java.util.*; +@Tag(name = "用户模块") @RestController @RequestMapping("/users") public class UserController { @@ -17,6 +20,7 @@ public class UserController { * * @return */ + @Operation(summary = "获取用户列表") @GetMapping("/") public List getUserList() { // 还可以通过@RequestParam从页面中传递参数来进行查询条件或者翻页信息的传递 @@ -30,6 +34,7 @@ public class UserController { * @param user * @return */ + @Operation(summary = "新建用户") @PostMapping("/") public String postUser(@RequestBody User user) { // @RequestBody注解用来绑定通过http请求中application/json类型上传的数据 @@ -43,6 +48,7 @@ public class UserController { * @param id * @return */ + @Operation(summary = "根据id获取用户") @GetMapping("/{id}") public User getUser(@PathVariable Long id) { // url中的id可通过@PathVariable绑定到函数的参数中 @@ -56,6 +62,7 @@ public class UserController { * @param user * @return */ + @Operation(summary = "根据id修改用户") @PutMapping("/{id}") public String putUser(@PathVariable Long id, @RequestBody User user) { User u = users.get(id); @@ -71,6 +78,7 @@ public class UserController { * @param id * @return */ + @Operation(summary = "删除用户") @DeleteMapping("/{id}") public String deleteUser(@PathVariable Long id) { users.remove(id); diff --git a/Assignment1/backend/Assignments/src/main/resources/application.yaml b/Assignment1/backend/Assignments/src/main/resources/application.yaml index 3e272b0..c829b0c 100644 --- a/Assignment1/backend/Assignments/src/main/resources/application.yaml +++ b/Assignment1/backend/Assignments/src/main/resources/application.yaml @@ -1,3 +1,11 @@ spring: application: name: Assignments + +springdoc: + api-docs: + enable: true + path: /v3/api-docs + swagger-ui: + enable: true + path: /swagger-ui.html