0

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の適切なメッセージが含まれていることを望んでいます.

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 に答える