2016-10-10 5 views
0

필요한 URL에 GET 요청은 다음과 같이해야한다 :RESTEasy가 : 복수의 동적 인수

http://<host>:<port>/path/item?<arguments>

인수 키와 여러 동적 있어야 가치, 그래서 나는 @BeanParam 또는 @QueryParam을 사용할 수 없습니다. 또한 구현없이이 인터페이스를 호출 할 수 있습니다. 브랜드 = myBrand & 가격 = myPrice

같은 것을 할 수있는 방법이 있나요 : 내가 전달하려는 인수의

public interface RestService { 

    @GET 
    @Path("/path/item") 
    @Produces(MediaType.APPLICATION_JSON) 
    public JsonNode method(@QueryParam("params") String params); 
} 

예 :

내 현재 코드는 다음과 같이인가?

내 참조 :

  1. REST Web Service - Dynamic Query Parameters
  2. Passing indefinite Query Parameters with RESTful URL and reading them in RESTEasy

답변

0

사용 UriInfo.getQueryParameters(), 다음과 같이 :

@GET 
@Path("/path/item") 
@Produces(MediaType.APPLICATION_JSON) 
public JsonNode method(@Context UriInfo uriInfo) { 
    MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters(); 
    ... 
} 

는 그것은 MultivaluedMap을 반환합니다. 그런 다음 반복하십시오.

+0

감사하지만 현재는 인터페이스 만 사용할 수 있습니다. 각 매개 변수 이름/값을 포함하는'Map '을 전달할 수 있습니까? 그러나 어쨌든 나는이 방법을 더 이상 사용하지 않았다. 동적 매개 변수를 보낼 수없는 것 같습니다. – Mrye