我正在使用Spring Framework创建一个简单的Rest Web服务。 我有一个分配给“ / check”端点的方法。它接受带有正文的POST请求。正文包含我的自定义Java对象的json形式。这是我的检查方法:
@PostMapping("/check")
public Status check(@RequestBody String body) throws JSONException, InterruptedException, ExecutionException {
Object data = gson.fromJson(body,Object.class);
if(data instanceof LocationData)
{
return Status.VALID_OBJECT;
}
else
{
return Status.INVALID_OBJECT;
}
}
(状态是一种枚举,具有两个状态:VALID_OBJECT和INVALID_OBJECT)
我有一个“ LocationData”类。因此,我期望LocationData对象的json格式作为请求正文。我想了解请求是否具有正确的json格式。 “检查”方法不适用于正确的json格式。然后,我在控制台中检查“数据”的类型,它返回LinkedTreeMap。
我如何实现这个目标?
答案 0 :(得分:0)
您可以在方法中使用LocationData
类的正文:
public Status check(@RequestBody LocationData body) throws JSONException, InterruptedException, ExecutionException {
...
}
LocationData
需要实现Serializable
才能起作用。然后自动检查该对象的有效性。
更多信息here