Tomcat Restful API 404

时间:2015-05-08 02:30:22

标签: json rest tomcat

获取api / users / 1

情况如下: 如果用户1不存在,则响应404 http状态代码和json消息。 json消息是这样的:

{
  "message": "Resouces `api/users/1` does not exist"
  "error_code": 1000
}

这是代码:

if(user == null) {
        Map<String, Object> error = new HashMap<String, Object>();
        error.put("message", "Resource `api/users/" + id + "` does not exist!");
        error.put("error_code", 1000);
        return new ResponseEntity<Object>(error, HttpStatus.NOT_FOUND);
    }
    return new ResponseEntity<Object>(user, HttpStatus.OK);

但是tomcat返回没有响应主体的默认错误页面: enter image description here

如果我想要一个如下页面,我该怎么办?

enter image description here

3 个答案:

答案 0 :(得分:1)

而不是返回错误对象返回带有状态代码的自定义json对象,或者您可以使用error-page元素指定错误页面和处理程序方法之间的映射, 404 /错误

然后在你的控制器手中。

了解更多here

答案 1 :(得分:0)

而不是使用

return new ResponseEntity<Object>(error, HttpStatus.NOT_FOUND);

使用

return new ResponseEntity<Object>(error, HttpStatus.SC_ACCEPTED);

答案 2 :(得分:0)

此答案由OP提供,并从问题中删除。

忘记添加ResponseBody注释。无论如何,如果使用@RestController注释声明控制器,则没有必要。