2012-03-14 3 views
1

JAX-RS를 사용하여 익숙하지 않은 형식의 배열을 포함하는 쿼리를 처리하고 사용하려고합니다. 쿼리 매개 변수는 다음 형식으로 표시됩니다.JAX-RS를 사용하여 배열 매개 변수가 포함 된 쿼리를 처리합니다.

?to[0]=100002700373730&to[1]=744826619&to[2]=501266190 

배열 매개 변수의 개수는 가변적입니다. 내가 아는 한이 배열을 전달하는 일반적인 형식이 아닙니다. 그러나 쿼리 서식을 제어 할 수 없으므로 그대로 처리해야합니다.

이 형식의 배열을 처리 할 수있는 JAX-RS 주석의 일부 형식이 있었으면 좋겠지 만 그럴 것 같지 않습니다. 현재 UriInfo에서 쿼리 매개 변수를 가져 와서 처리 할 문자열 배열을 수동으로 작성하고 있습니다. 이 솔루션은 작동하지만 해킹 비트처럼 보입니다. 더 나은 (또는 더 정확한) 방법이 있다면 나는 그 방법을 아는 것에 대해 분명히 감사 할 것입니다. 감사! :)

답변

0

실제로는 표준 형식처럼 보이지 않으므로 MultivaluedMap이 가장 좋은 방법이라고 생각합니다 (직접 UriInfo API를 사용하지 않고도 메소드 인수로 사용할 수 있지만).

+0

현재 UriInfo에서 getQueryParameters()를 호출하고 있습니다. 어떤 방법론 논쟁을 제안하고 있습니까? "@Context UriInfo uriInfo"를 사용하면 현재 가지고있는 private UriInfo 멤버 var를 사용하는 것과 같은 결과를 얻을 수 있습니다. 감사! – TimH

+0

jax-rs 메서드가없는 다중 값 맵을 직접 바인딩 할 수 있습니다. @POST @Consumes (MediaType.APPLICATION_FORM_URLENCODED) 공공 무효의 doPost (MultivaluedMap formMap) – TheArchitect

관련 문제