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