2017-05-15 3 views
-1

tomcat에서 실행중인 Jersey 2.x 응용 프로그램이 있습니다. 모든 메소드 구현이 예상대로 작동하며 심지어 http : // {host} : {port} /JerseyRESTWebapp/ws/rest/application.wadl로 이동하여 WADL을 얻을 수 있습니다. 지금까지 모든 것이 훌륭합니다.HTTP 옵션 메서드가 예상대로 작동하지 않습니다.

이제 아웃 호기심의 내가 HTTP로 이동 시도 : // {호스트} : 내가 405 방법을 얻을 것이다 {포트}/JerseyRESTWebapp가/WS/휴식/직원 URL 기대 방법을 HTTP 옵션을 사용하여이을 허용하지만 난하지 200 OK이고 응답 본문에는 WADL이 포함되어 있습니다. 누군가 이런 일이 왜 일어 났는지 알려 주실 수 있습니까? REST 클라이언트로 POSTMAN 크롬 확장을 사용하고 있습니다. 응답 에서 또한

은 내가, 옵션을 GET, DELETE, HEADPOST를 얻고, 헤더 허용합니다. 여기 PUT 방법이 없습니다. 왜?

답변

1

기본적으로 리소스 검색이 작동하는 방식입니다. 자원 조치를 암시하거나 시작하지 않고,

이 방법은 옵션 및/또는 자원과 관련된 필요 조건, 서버의 처리 능력을 결정하는 클라이언트를 허용 옵션 리소스 검색에 관해서 사양을 따르도록 구현 것 자원 검색.

WADL을 비활성화하려면 ServerProperties.WADL_FEATURE_DISABLE 속성을 true로 설정하면됩니다.

이것이 어떻게 구현되는지 궁금하다면 WadlModelProcessor의 출처를 확인하십시오. 모든 자원 모델을 검토하고 추가 OPTIONS 자원 메소드를 추가합니다. 저지 문서

에있는 ModelProcessor에 대해 자세히 알아볼 수 있습니다.
관련 문제