0

我正在开发提供 JSON 响应的 Restful Web 服务

@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 不存在”,需要确切更改,请帮助我们

4

1 回答 1

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;
}
于 2013-02-27T12:18:23.403 回答