0

次の方法で DELETE 動詞をテストしていますが、これはうまく機能しているようです。

@Test
public void testDelete() throws Exception {
    WebResource webResourceTest = webResource.path("/deletesomestuff/delete").queryParam("FT","From Test");
    final String responseString = webResourceTest.type(MediaType.TEXT_PLAIN).delete(String.class);
    Assert.assertEquals("Request fulfilled.", responseString);
}

これは、私が求めているものを文字列で返します。以下は、実際の DELETE API 呼び出しの抜粋です。

@DELETE
@Path("/delete")
@Produces(MediaType.TEXT_PLAIN)
public Response delete(@PathParam("/delete") String deleteString) {
    <snip> 
    return Response.status(204).entity("Request fulfilled.").build();
}

DELETE 呼び出しも正常に機能し、正しい文字列を返しますが、私の質問はこれです。WebResource 経由で返される応答ステータスを取得するにはどうすればよいですか? 私はそれを取得する方法を見つけることができないようです。テストはそのまま機能しますが、WebResource からの応答を取得できるかどうか知りたいだけです。junit テストから ClientResponse を使用すると、常に 200 を受け取ります。

また、curl を使用して DELETE API 呼び出しをテストしました。

curl -i -X DELETE /webapi/deletesomestuff/delete?FT=From+Test
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Content-Type: text/plain
Date: Mon, 08 Jul 2013 18:11:13 GMT

204が返ってきました。

ありがとう!

4

1 に答える 1