gpt4 book ai didi

java - Spring RESTful Webservice - 返回没有模型对象的 JSON

转载 作者:行者123 更新时间:2023-11-30 10:44:33 25 4
gpt4 key购买 nike

那里。
我对在 Spring RESTful WebService 上返回 JSONObjects 有疑问。

这里是:
我的 Controller 中有一个方法,我想让它返回一个 JSONObject。但是,当我将它的返回类型设置为 JSONObject 并有效地返回 JSONObject 时,出现以下错误:

HTTP Status 500 - Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class org.json.JSONObject

所以,我实际上理解这意味着什么,并且我已经至少 3 天来寻找该问题的答案。

这是我的代码:

@RequestMapping(value = "/value", method = RequestMethod.POST)
public String method(HttpServletRequest request) {
JSONObject json = new JSONObject();
json.put("example", "example message");

return json.toString();
}

我真的不知道当我必须在前端使用它时它是否会起作用(这将是一个外部应用程序)。我必须返回一个 true JSONObject 吗?或者返回一个 JSONObject.toString() 应该没问题?

还有最后一件事:
大多数关于返回 JSONObject 的教程都在使用我不想使用的模型对象来教授该过程。有没有不使用模型对象就可以做到这一点的方法?

提前致谢,窥视!

最佳答案

我遇到了同样的问题,解决方案非常简单。我假设您的依赖项中有 Jackson,然后您可以执行以下操作:

创建 JSONObject 之后你想返回,只需写:return jsonObject.toMap() , jackson 将完成剩下的工作。不要忘记将方法的返回类型更改为 Map<String, Object> ,并应用适当的注释:@ResponseBody在方法上,或 @RestController在整个类(class)。这取决于您的需求。

在你的情况下它将是:

@RequestMapping(value = "/value", method = RequestMethod.POST)
public @ResponseBody Map<String, Object> method(HttpServletRequest request) {
JSONObject json = new JSONObject();
json.put("example", "example message");

return json.toMap();
}

关于java - Spring RESTful Webservice - 返回没有模型对象的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37380913/

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