2016-08-06 1 views
2

반환합니다. @PathParam의 모든 경로는 404 오류 코드를 반환합니다. 아무도 조사 할 곳을 안내해 줄 수 있습니까?모든 저지 노선들은 내가 <strong>그리즐리</strong>에서 실행 <strong>저지</strong>를 사용 <strong>여러 편안하고</strong> 서비스가 404

작업 :

@GET 
@Path("/testget") 
@Produces(MediaType.APPLICATION_JSON) 
Response testGet(){ 
    //working 
} 

작동하지 않음 :

@GET 
@Path("/testpath/{id}") 
@Produces(MediaType.APPLICATION_JSON) 
Response testPath(@PathParam("id") String id){ 
    //not working, return 404 
} 

내가 경로 PARAM을 제거하면이 작업을 시작합니다. 하지만 경로 매개 변수가 필요합니다.

그리 즐 코드 : 조사의 많은 후

 ResourceConfig resourceConfig = new ResourceConfig(); 
     resourceConfig.register(TestController.class); 

     HttpServer server = GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URL), resourceConfig, false); 
     server.start(); 
+0

url'.../testget'이 작동하지만'.../testpath/abc'와 같은 url이 작동하지 않는다고 말하는가? – Andreas

+0

정확히, 그게 문제 야. 내 생각에 jersey/grizzly는 testpath/abc를 testpath/{id}에 매핑 할 수 없습니다. – Shafiul

+0

재현 할 수 없습니다. 방금 [여기] (http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/griz_jersey_intro/Grizzly-Jersey-Intro.html)의 지침에 따라 새로운 프로젝트를 작성한 다음 두 가지 방법을 모두 추가했습니다. 샘플'MyResource' 클래스는 "Hello from "을 리턴합니다. 둘 다 괜찮 았어. – Andreas

답변

1

, 내 해결책을 발견했다. 나는 누군가가 이것으로부터 유익 할 수 있기 때문에 여기에 그것을 첨가 할 것이다.

문제 I는 POST를 추가 인터페이스 수단에 경로 문제를 초래하는 것을 알았다. 그리고 이것은 method 매개 변수에 @PathParam이있을 때 발생합니다.

문제있는 : 인터페이스 :

@POST 
@Path("/test/{id}") 
public String testPost(@PathParam("id") String id); 

클래스 (기본 자원 클래스 수준의 경로 주석에) :

@Override 
public String testPost(@PathParam("id") String id){ 
    return "hello" + id; 
} 

솔루션

등급 :

@POST 
@Path("/test/{id}") 
@Override 
public String testPost(@PathParam("id") String id){ 
    return "hello" + id; 
} 

인터페이스에 POST와 경로를 추가했는지 여부는 중요하지 않습니다. 그러나 그것들은 구현 방법에 추가되어야합니다. 최소한 이것은 나를 위해 일하고있다, 나는 인터페이스의 주석이 왜 작동하지 않는지 모른다. J2EE 스펙이 말하기를 :

다른 Java EE 사양과 일관성을 위해 인용문 , 항상 대신 주석 상속에 의존 주석을 반복하는 것이 좋습니다.

그래서 클래스에 주석을 추가하고 있습니다.

+0

구현에서 @PathParam을 제거해야합니다. 그렇지 않으면 인터페이스의 모든 주석이 무시됩니다. 이 대답은 http://stackoverflow.com/a/37623021/105668에 자세히 설명되어 있습니다. –

관련 문제