2014-08-28 4 views
0

초보자는 여기에 있습니다.JerseyClient webResource와 관련된 문제

@Path("") //what should go here? 
public class AaRestCall 
    public static String subTrackNum (String trackNum) throws IOException { 
     try { 
      Client client = Client.create(); 

      WebResource webResource = client. 
      resource("https://url/rest/request/" + trackNum); 

      ClientResponse response = webResource. 
      accept("application/json").get(ClientResponse.class); 

      String output = response.getEntity(String.class); 

      return output; 
     } 
     catch some stuff here 

} 

나는 몇 가지 질문이 있습니다 :

1) 무엇 간다

@GET 
@PATH("/{id}/headerinfo") 
@Produces({ JSON, XML}) 
public Response getRequestHEADER(@PathParam("id") long id) { 
    Request result = em.find(Request.class, id); 

    ... 

return Response.ok(entity).build(); 

여기 나에게 문제를주고 그것에 내 전화는이다 :이처럼 보이는 REST 서비스가 @Path 매개 변수에?

2) webResource에서 webResource.accept로 호출 할 때 해결할 수없는 오류가 발생했습니다. 나는 왜 불분명하다.

3) 저의 첫 번째 REST 호출이고 저지를 처음 사용하기 때문에 추가 팁이 있으면 감사하겠습니다.

+0

이 pathparam의 예를 들어이 참조입니다 REST에 사용되는 프레임 워크 중 하나를 확인할 수 있습니다 : [http://stackoverflow.com/questions/24994599/expected-output-is-not -displaying/24994861 # 24994861] (http://stackoverflow.com/questions/24994599/expected-output-is-not-displaying/24994861#24994861) –

답변

1

클래스 다음 클래스 내부의 방법은 예를 @Path("test")

+0

uri가 www.google.com 인 경우 이해합니다./somevariable이면 Path는 다음과 같습니다. @Path ("www.google.com/")? – Phant

0

가 이전 게시물이 비록 나는 것에 대한/후 특정 URI에 대한 경로 PARAMS 것 예를 @Path("/")의 기본 URI 것 장식 경로 PARAM 어떤 점에 대해 의견을 말하십시오.

1) @Path 매개 변수는 무엇입니까?

하나의 서버 측이 아래 지금까지 내가 이해로, 나는 의미 서비스

@GET 
@PATH("/{id}/headerinfo") 
@Produces({ JSON, XML}) 
public Response getRequestHEADER(@PathParam("id") long id) { 
    Request result = em.find(Request.class, id); 

    ... 

return Response.ok(entity).build(); 

그러나 2 일이 당신의 클라이언트 측입니다;

@Path("") //what should go here? 
public class AaRestCall 
    public static String subTrackNum (String trackNum) throws IOException { 
     try { 
      Client client = Client.create(); 

      WebResource webResource = client. 
      resource("https://url/rest/request/" + trackNum); 

      ClientResponse response = webResource. 
      accept("application/json").get(ClientResponse.class); 

      String output = response.getEntity(String.class); 

      return output; 
     } 
     catch some stuff here 

} 

따라서 당신은 당신이있어 클라이언트 요청과 함께 클라이언트 클래스 또는 function.Because에

경로 ("")

을 추가 할 필요가 없습니다 /service/list과 같은 자체 패턴 URL을 가진 API를 호출하므로 클라이언트는이 서비스를 사용하므로 어떤 경로도 필요하지 않습니다. 2 API 간의 통합을 제공하는 일종의 어댑터를 개발하지 않는 이상 (약간의 문제 개념이지만 너무 많이 붙이지 마십시오).

2) webResource는 webResource.accept로 호출 할 때 문제가 해결 될 수 없음을 나에게 오류를주고있다. 나는 왜 불분명하다.

는 기본적으로 webResource.accept (...)의 기능 등 파일, 같은 JSON, XML로 받아 응답 미디어 유형을 추가 따라서이 더 많은 세부 사항을 기술해야한다.

3) 저의 첫 번째 REST 전화이며 저지를 처음 사용하기 때문에 추가 도움말을 보내 주시면 감사하겠습니다.

당신은 Jersey