فهرست منبع

docs(api): 更新控制器API文档注解

- 为血糖、血压、心率、体格数据控制器添加中文标签
- 为地理位置控制器添加标签和操作注解
- 为微信控制器添加标签和操作注解
- 补充获取openid接口的描述信息
- 补充获取用户信息接口的描述信息
- 补充更新用户信息接口的描述信息
mcbaiyun 2 ماه پیش
والد
کامیت
56340b99df

+ 1 - 1
src/main/java/work/baiyun/chronicdiseaseapp/controller/BloodGlucoseDataController.java

@@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 @RestController
 @RequestMapping("/blood-glucose")
-@Tag(name = "Blood Glucose", description = "血糖相关接口")
+@Tag(name = "血糖 (Blood Glucose)", description = "血糖相关接口")
 public class BloodGlucoseDataController {
 
     @Autowired

+ 1 - 1
src/main/java/work/baiyun/chronicdiseaseapp/controller/BloodPressureDataController.java

@@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 @RestController
 @RequestMapping("/blood-pressure")
-@Tag(name = "Blood Pressure", description = "血压相关接口")
+@Tag(name = "血压 (Blood Pressure)", description = "血压相关接口")
 public class BloodPressureDataController {
 
     @Autowired

+ 4 - 0
src/main/java/work/baiyun/chronicdiseaseapp/controller/GeoController.java

@@ -8,14 +8,18 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.RestTemplate;
 import work.baiyun.chronicdiseaseapp.common.R;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
 
 @RestController
 @RequestMapping("/geo")
+@Tag(name = "地理 (Geo)", description = "地理编码与位置信息接口")
 public class GeoController {
 
     @Autowired
     private RestTemplate restTemplate;
 
+    @Operation(summary = "获取最近位置", description = "根据经纬度查询最近位置字符串")
     @GetMapping("/nearest")
     public R<String> getNearestGeo(@RequestParam double latitude, @RequestParam double longitude) throws work.baiyun.chronicdiseaseapp.exception.CustomException {
         try {

+ 1 - 1
src/main/java/work/baiyun/chronicdiseaseapp/controller/HeartRateDataController.java

@@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 @RestController
 @RequestMapping("/heart-rate")
-@Tag(name = "Heart Rate", description = "心率相关接口")
+@Tag(name = "心率 (Heart Rate)", description = "心率相关接口")
 public class HeartRateDataController {
 
     @Autowired

+ 1 - 1
src/main/java/work/baiyun/chronicdiseaseapp/controller/PhysicalDataController.java

@@ -21,7 +21,7 @@ import java.util.Map;
 
 @RestController
 @RequestMapping("/physical")
-@Tag(name = "Physical Data", description = "体格数据相关接口")
+@Tag(name = "体格 (Physical Data)", description = "体格数据相关接口")
 public class PhysicalDataController {
 
     @Autowired

+ 7 - 0
src/main/java/work/baiyun/chronicdiseaseapp/controller/WeChatController.java

@@ -6,6 +6,8 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
 import work.baiyun.chronicdiseaseapp.common.R;
 import work.baiyun.chronicdiseaseapp.model.vo.GetOpenidRequest;
 import work.baiyun.chronicdiseaseapp.service.WeChatService;
@@ -22,6 +24,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 @RestController
+@Tag(name = "微信 (WeChat)", description = "与微信小程序交互的接口")
 public class WeChatController {
 
     @Autowired
@@ -38,6 +41,8 @@ public class WeChatController {
         return R.success(200, "Hello from Spring backend!");
     }
 
+    @Operation(summary = "获取 openid", description = "根据小程序 code 获取 openid 并创建/返回用户 token")
+
     @PostMapping(path = "/get_openid", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
     public R<?> getOpenid(@RequestBody(required = false) GetOpenidRequest req) {
         if (req == null || req.getCode() == null || req.getCode().isEmpty()) {
@@ -90,6 +95,7 @@ public class WeChatController {
      *
      * 向后兼容:如果没有 Authorization header,仍然支持 X-Token 或 token header,或 POST body 中的 { "token": "..." }。
      */
+    @Operation(summary = "获取用户信息", description = "根据 token 返回当前用户信息(支持 Authorization/X-Token/token)")
     @PostMapping(path = "/user_info", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
     public R<?> getUserInfo(@RequestBody(required = false) Map<String, String> body, HttpServletRequest request) {
         // 优先使用拦截器放入的 currentUserId(AuthInterceptor 已验证 X-Token)
@@ -143,6 +149,7 @@ public class WeChatController {
         return R.success(200, "ok", out);
     }
 
+    @Operation(summary = "更新用户信息", description = "更新用户的头像、昵称、手机号、年龄、地址等")
     @PostMapping(path = "/update_user_info", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
     public R<?> updateUserInfo(@RequestBody(required = false) work.baiyun.chronicdiseaseapp.model.vo.UpdateUserInfoRequest req,
                                HttpServletRequest request) {