gpt4 book ai didi

java - Spring MVC 返回 JSONS 和异常处理

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:04:25 24 4
gpt4 key购买 nike

我正在使用带 Controller 的 Spring MVC,我的问题是如何返回一个 JSON 响应,它不同于返回并转换为要返回的 JSON 的 @ResponseBody 对象。

为了进一步详细说明,我有一个名为“UserDetails”的对象,它有两个字段,分别称为“name”、“emailAddress”

@ResponseBody UserDetails

现在返回的 json 看起来像

{ name : "TheUsersName", emailAddress:"abc@abc123.com" }

有什么方法可以在返回之前修改 json(所有 Controller 的所有方法中的所有 json),其中将添加“状态”字段,其他 json 数据将位于 json 中的“数据”键下。

另外,当某处的 java 服务器抛出异常时,我如何将 json 返回到前端,json 应该有“status : false”和异常名称(至少是状态部分)

最佳答案

创建响应类:

public class Response<T> {
T data;
boolean status = true;

public Response(T d) { data = d; }
}

然后从你的 Controller 返回:

@ResponseBody public Response getUserDetails) {
//...
return new Response(userDetails);
}

对于异常,您需要返回一个对象,例如:

public class BadStatus {
String errorMessage;
boolean status = false;

public BadStatus(String msg) { errorMessage = msg; }
}

@ExceptionHandler(Exception.class)
public BadStatus handleException(Exception ex, HttpServletRequest request) {
return new BadStatus(ex.getMessage());
}

关于java - Spring MVC 返回 JSONS 和异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com