2014-09-15 2 views
0

이 같은 API와 resygwt에 REST 기반 서비스를했습니다 :Restygwt : 잘못된 URI 순서

@Path("/search") 
@GET 
List<User> search(@QueryParam("login") String loginMask) throws RemoteException; 

그리고이 요청에 대해 "잘못된 URI 순서"가 나타납니다

http://devsys23:8080/rest/search?login=%25spa%20ce%25 

을 JavaDoc에서 언급 한 바에 따르면 이러한 요청은 기본적으로 지원되어야하기 때문에 다소 이상합니다.

  • HTTP 조회 매개 변수의 값을 자원 메소드 매개 변수
  • 자원 클래스 필드 또는 자원 클래스 bean 특성에 바인드합니다.
  • 값이 인코딩되지 않은 경우가 아니라면 인코딩 된
  • 주석을 사용하여 값을 디코딩 할 수 있습니다. 기본값은 {@link DefaultValue}
  • 주석을 사용하여 지정할 수 있습니다.

난은 useBodyEncodingForURI 및 URIEncoding = "UTF-8"로 server.xml에 바람둥이 커넥터를 편집하려고했습니다. 또한 org.springframework.web.filter.CharacterEncodingFilter 포함하고 forceEncoding 세트,하지만 여전히 = (

내가 디코딩해야한다는 로그인 PARAM을 지정하려면 어떻게해야합니까? 이있는 경우 귀하의 조언에 감사드립니다 작동하지 않는했다

String loginValue= queryParams.get("login"); 
loginValue= URLDecoder.decode(loginValue, "UTF-8"); 

어쩌면 RestyGWT 기본적으로 모든 PARAMS를 인코딩처럼 뭔가를 당신이 값을 디코딩합니다.

+0

정말 RestyGWT와 관련이 있습니까? 내가 아는 바로는 문제는 쿼리 매개 변수 값을 디코딩 할 때의 바람둥이 문제입니다. 쿼리 param을 인코딩하지 않길 원하십니까? 아니면 백엔드에서 디코딩하도록 하시겠습니까? –

답변

관련 문제