From 13b31b2ca2a5f8600002a042b536c9d5529842e3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 09 三月 2026 19:21:18 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/i18n/I18nResponseBodyAdvice.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/common/i18n/I18nResponseBodyAdvice.java b/src/main/java/com/zy/common/i18n/I18nResponseBodyAdvice.java
new file mode 100644
index 0000000..350f08a
--- /dev/null
+++ b/src/main/java/com/zy/common/i18n/I18nResponseBodyAdvice.java
@@ -0,0 +1,37 @@
+package com.zy.common.i18n;
+
+import com.core.common.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.MethodParameter;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.server.ServerHttpRequest;
+import org.springframework.http.server.ServerHttpResponse;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
+
+@RestControllerAdvice
+public class I18nResponseBodyAdvice implements ResponseBodyAdvice<Object> {
+
+ @Autowired
+ private I18nMessageService i18nMessageService;
+
+ @Override
+ public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) {
+ return true;
+ }
+
+ @Override
+ public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
+ Class<? extends HttpMessageConverter<?>> selectedConverterType,
+ ServerHttpRequest request, ServerHttpResponse response) {
+ if (body instanceof R) {
+ R result = (R) body;
+ Object msg = result.get("msg");
+ if (msg instanceof String) {
+ result.put("msg", i18nMessageService.translateLegacy((String) msg));
+ }
+ }
+ return body;
+ }
+}
--
Gitblit v1.9.1