2012-09-21 4 views
3

Jersey의 POST ReST Service에 이름 값 쌍을 본문으로 전달할 수 있습니까? 아파치 코 몬즈 PostMethod를 사용하는 아래 코드와 비슷한 것보내는 이름 값 Jersey 클라이언트를 사용하여 POST에서 쌍을 만듭니다.

final PostMethod post = new PostMethod(url); 
    post.setRequestBody(new NameValuePair[] { 
      new NameValuePair("loginId", userId), 
      new NameValuePair("logonPassword", password), 
      new NameValuePair("signature", signature), 
      new NameValuePair("timestamp", timestamp), 
      new NameValuePair("sourceSiteId", sourceSiteId) }); 

이 호출을 내 응용 프로그램에 포팅합니다. 현재 호출은 아파치 공유 PostMethod를 사용합니다. 내 응용 프로그램에서는 저지를 사용했습니다. 그래서 저지 클래스/아파치 대신에 기능을 사용하고 싶습니다.

답변

12

저울에 JAX-RS에 'MultivaluedMapImpl'이있는 MultivaluedMap 인터페이스가 있습니다.

Client client = Client.create(); 
WebResource webResource = client.resource("http://site.com/resource"); 
MultivaluedMap<String, String> map = new MultivaluedMapImpl(); 
map.put("loginId", loginId); 
... 
ClientResponse response = webResource.type("application/x-www-form-urlencoded") 
      .post(ClientResponse.class, map); 

Here 저지 클라이언트 API를 사용하는 방법에 대한 포괄적 인 예이다.

+0

감사합니다. – basiljames