From 79b1d99db939064ce2361e19f0c1f2937157762c Mon Sep 17 00:00:00 2001 From: chenxing Date: Wed, 2 Sep 2026 11:43:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=A4=B4=E5=83=8F=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E8=AE=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../userbase/controller/oapi/UserController.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/yunhai/userbase/controller/oapi/UserController.java b/src/main/java/com/yunhai/userbase/controller/oapi/UserController.java index 50047c1..716cee0 100644 --- a/src/main/java/com/yunhai/userbase/controller/oapi/UserController.java +++ b/src/main/java/com/yunhai/userbase/controller/oapi/UserController.java @@ -1,6 +1,7 @@ package com.yunhai.userbase.controller.oapi; import com.yunhai.platform.appauth.AppAuthFilter; +import com.yunhai.platform.apistd.ApiResponse; import com.yunhai.platform.utils.exception.DException; import com.yunhai.platform.utils.model.BoaGroup; import com.yunhai.platform.utils.model.BoaModule; @@ -240,12 +241,15 @@ public class UserController { /** * 修改用户头像:校验图片(非空/≤20MB/扩展名白名单)→ 压缩 → 存储并写入 profile_picture,
* 返回新头像完整 Web URL。multipart 直传(form 字段 userId + 文件 part file)。
- * 与修改密码一致,仅由过滤器层强制应用签名;POST 自动记 OapiLog(文件内容不落库,仅记文件名元数据)。 + * 与修改密码一致,仅由过滤器层强制应用签名;POST 自动记 OapiLog(文件内容不落库,仅记文件名元数据)。
+ * 注意必须显式返回 {@link ApiResponse} 信封:若直接返回 String, + * ApiResponseAdvice 会跳过包装(String 走 StringHttpMessageConverter 无法套壳), + * 响应变成裸文本 URL,调用方(yh-openapi-client)按 JSON 解析会报 deserialize failed。 */ @PostMapping("profilePicture") - public String profilePicture(@RequestParam("userId") Integer userId, + public ApiResponse profilePicture(@RequestParam("userId") Integer userId, @RequestParam("file") MultipartFile file) { - return sysUserService.changeProfilePicture(userId, file); + return ApiResponse.success(sysUserService.changeProfilePicture(userId, file)); } /**