refactor(gateway): 简化网关表达式中的响应处理逻辑
- 移除冗余的响应体检查逻辑 - 优化状态码和消息的处理流程 - 保持原有的响应体设置行为不变 - 提升代码可读性和维护性
This commit is contained in:
@@ -144,24 +144,14 @@ public final class GatewayExpressionHelper {
|
||||
|
||||
private static void applyResponseMutations(ApiInvocationContext context, Map<?, ?> map) {
|
||||
Object body = firstNonNull(map.get("responseBody"), map.get("body"));
|
||||
Object status = map.get("responseStatus");
|
||||
Object message = map.get("responseMessage");
|
||||
|
||||
// 如果有 body 字段,则提取 body
|
||||
if (body != null) {
|
||||
context.setResponseBody(body);
|
||||
}
|
||||
// 如果没有 body 字段,但也没有 responseStatus 或 responseMessage 字段
|
||||
// 说明整个 map 就是响应体,直接设置为 responseBody
|
||||
else if (status == null && message == null) {
|
||||
context.setResponseBody(toObjectMap(map));
|
||||
}
|
||||
// 如果没有 body 字段,但有 responseStatus 或 responseMessage 字段
|
||||
// 则只设置状态和消息,保留原有的 responseBody
|
||||
|
||||
Object status = map.get("responseStatus");
|
||||
if (status != null) {
|
||||
context.setResponseStatus(asInteger(status));
|
||||
}
|
||||
Object message = map.get("responseMessage");
|
||||
if (message != null) {
|
||||
context.setResponseMessage(String.valueOf(message));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user