10

ジャージークライアントを使用してジャージーJAX-RSサービスを呼び出すために、このコードを使用しています。

public static void main(String[] args) {
    ClientConfig config = new DefaultClientConfig();
    Client client = Client.create(config);

    WebResource service = client.resource(getBaseURI());

    String msg = service.path("rest").path("ExceptionDemo").path("user").queryParam("id", "001").get(String.class);     
    System.out.println(msg);

}

private static URI getBaseURI() {
    return UriBuilder.fromUri("http://localhost:8045/ExceptionHanlding").build();
}

このコードは、応答ステータス コードが 200 の場合に正常に機能します。ただし、200 以外の場合、このコードは例外をスローします。

応答のステータス コードに基づいて何らかのアクションを実行するように、このコードを変更する方法は?

4

1 に答える 1

20

.get(ClientResponse.class)の代わりに使用してください.get(String.class)。これにより、「不良ステータスの例外」の動作が抑制され、ClientResponseによってHTTP応答に関する詳細にアクセスできるようになります。この動作については、ユーザーガイドの「応答の受信」で簡単に説明されています。

于 2013-03-03T13:52:33.667 に答える