我正在使用spring mvc,这是我的服务。
@RequestMapping(value="/data/{id}",method=RequestMethod.POST)
@ResponseBody
public JSONObject data(@PathVariable Long id ,@RequestBody Long Intake ) {
JSONObject obj = new JSONObject();
obj.put("test", false);
System.out.equals(obj);
return obj;
}
并将错误抛出为:
java.lang.IllegalArgumentException: No converter found for return value of type: class org.json.JSONObject
我检查了很多指向我的链接,可能是getter / setter丢失或者@ResponseBody注释丢失。所以我运行这段代码而不需要getter / setter,但仍然向我显示这个错误。
我也导入了这种依赖。
import org.json.*;
对此问题的任何想法??
答案 0 :(得分:0)
1 - 尝试在项目中添加jackson(如果尚未声明)。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.0</version>
</dependency>
或2 - 使用ObjectMapper序列化返回String。
@RequestMapping(value="/data/{id}",method=RequestMethod.POST)
@ResponseBody
public String data(@PathVariable Long id ,@RequestBody Long Intake ) {
ObjectMapper obj = new ObjectMapper();
Map<String, Object> map = new HashMap<>();
map.put("test", false);
return obj.writeValueAsString(map);
}