2009-08-17 3 views

답변

7

그것은 REST의 - 요점은, 당신은 자체 API를하지 않아도 그냥 HttpURLConnection의. 기본 자바 SDK만으로 진정한 RESTful 서비스와 상호 작용할 수 있어야한다. Apache Commons HTTPClient를 사용하면 더 좋아질 수 있습니다.하지만 꼭 필요한 것은 아닙니다.

+1

필수 항목은 아니지만 IDE가 아니기 때문에 중요한 부분 (HTTPS, 표현 처리 등)을 다루는 라이브러리가 있으므로 기능 제공에 집중할 수 있습니다. –

+0

다시 응용 프로그램 개발 비교적 작은 풋 프린트 (그래픽 자산을 포함하여 총 2 MB의 패키지), 나는 분명히 추가 라이브러리/라이센스를 추가하지 않도록 노력하고있어 이것이 나에게 도움이된다. – Yablargo

0

나머지 프레임 워크로 resteasy를 사용하고 있습니다. 다시 작성하고 테스트 할 때 easymock과 동일하게 잘 작동합니다. 샘플 코드로 :

@Path("/webservice") 

public class Web 
{ 

    @GET 
    @Path("{web}") 
    @ProduceMime("application/xml") 
    public String test(@QueryParam("param") String param, @PathParam("web") String web) 
    { 
    // code here 
    } 
} 
  • @Path 클래스의 당신의 "루트 경로"이다는
  • @GET는 나머지
  • 에서이다 (당신의 진짜 "루트는"components.xml에서 구성 할 것)
  • ProduceMime 또는 ConsumeMime은 소비 또는
  • @QueryParam이 URL의 PARAMS와 @PathParam 매개 변수입니다 생산 당신이 얻을해야한다 마임입니다

그러면 get/webservice/web? param = lalala에서 호출을 수신하고 application/xml 형식의 문자열을 반환합니다.

4

체크 아웃 Restlet을 확인하십시오. 그것은 좋은 클라이언트 API가 있습니다.

사용 예제는 : 당신은 단지 REST 서비스를 호출하고 응답을하고자하는 경우

Request request = new Request(Method.GET, "http://my/rest/api"); 

Client client = new Client(Protocol.HTTP); 

Response response = client.handle(request); 

//get response representation and process 
+2

동의합니다. 또한 개발중인 Restlet의 새로운 버전 인 2.0은 클라이언트 측 리소스 인 "호출"리소스에 대한 새로운 접근 방식을 지원합니다. 즉, 원격 리소스의 URL을 사용하여 리소스 객체를 인스턴스화 한 다음 리소스 객체의 표현을 가져 오거나 새로운 표현을 보내거나 등등 할 수 있습니다. 아직 사용하지는 않았지만 그 객체에 흥미를 느낍니다. –

1

당신은 REST Assured을 시도 할 수 있습니다 : http://stackoverflow.com/questions의

// Make a GET request to "/lotto" 
String json = get("/lotto").asString() 
// Parse the JSON response 
List<String> winnderIds = with(json).get("lotto.winners.winnerId"); 

// Make a POST request to "/shopping" 
String xml = post("/shopping").andReturn().body().asString() 
// Parse the XML 
Node category = with(xml).get("shopping.category[0]"); 
관련 문제