2013-02-24 3 views
0

Resteasy 2.3.5를 사용하고 있습니다. 내가 @GET에 의해 @POST를 교체 할 때 (브라우저가 foobar을 반환) 잘 작동resteasy @POST annotated method not called

그러나
@POST 
@Path("/echo/{msg}") 
@Produces("text/plain; charset=UTF-8") 
public String echo(@PathParam("msg") final String msg) { 
    return msg; 
} 

, : 내 브라우저에서 해당 URL http://localhost:8080/MyApp/rest/echo/foobar를 요청할 때 다음 @POST 주석 방법은 호출되지 않습니다. 뭐가 잘못 되었 니?

답변

2

URL을 입력 할 때 브라우저가 항상 GET 요청을하기 때문에 이런 현상이 발생합니다.
cURL과 같은 HTTP 클라이언트 도구를 다운로드 해보십시오. 그런 다음 명령 줄 환경에서 다음 테스트를 실행 : 당신은 HTTP 등 방법, 헤더, 한번 시도해의 주위에 재생할 수 있습니다

curl "http://localhost:8080/MyApp/rest/echo/foobar" -X POST

.

+0

때때로 당신은 그냥 ... 나무에 대한 감사 나무를 볼 수 없습니다 볼 수 있습니다 크롬

https://addons.mozilla.org/en-us/firefox/addon/restclient/https://chrome.google.com/webstore/detail/rest-console/cokgbflfommojglbmbpenpphppikmonn?hl=en

을 시도하려고합니다. – Jack

1

@POST 주석은 HTTP POST 요청 방법을 참조합니다. 웹 브라우저는 일반적으로 GET HTTP 요청 방법 만 실행하므로 @GET으로 변경하면 예제가 작동합니다. REST 서비스를 테스트하는 데 사용할 수있는 여러 가지 도구가 있으며 그 중 일부는 브라우저에서 바로 작동합니다.

파이어 폭스를 들어 당신은 또한 What tools do you use to test your public REST API?

+0

Firefox 플러그인을 사용해 주셔서 감사합니다. – Jack