如果id不存在,则RestFul Web服务响应错误代码

时间:2013-02-27 12:09:39

标签: java web-services rest

我正在研究提供JSON响应的Restful Web Services

@GET
@Produces("application/json")
public Site getSite() {
    return (Site)siteFacade.find(Integer.parseInt(id));

}

这是我通过id

获取网站信息的方法

当没有输入id = 11

的数据时,我得到了以下输出
GET Request Failed Request Failed --> Status: (204) Response: {

}

现在我希望该响应字段包含错误代码= 204的正确消息,如“无效请求”或“id不存在”,其中需要进行准确更改,请帮助我们

1 个答案:

答案 0 :(得分:0)

这个怎么样。

通常情况下,如果您要求某些内容,但未找到,则会指定404(这也是RESTful精神):

@GET
@Produces("application/json")
public Site getSite() {
  Site site = (Site) siteFacade.find(Integer.parseInt(id));
  if (site == null) {
    return Response.status(Response.Status.NOT_FOUND).build();
  }
  return site;
}

如果你需要在响应正文中留言,你会添加这样的内容,我想:

@GET
@Produces("application/json")
public Site getSite() {
  Site site = (Site) siteFacade.find(Integer.parseInt(id));
  if (site == null) {
    return Response.status(Response.Status.NOT_FOUND).entity("No item with this id found").build();
  }
  return site;
}