2014-10-17 3 views
-2

바람둥이에서 실행되는 REST 기반 Java 모듈이 하나 있는데 URL을 호출하는 중입니다. REST URL 구분 기호 문제

https://xx.xx.xx.xx/emp/salary?query=(FirstName startswith anil) 

지금 내가 & 구분의 기준으로 URL 멀티 쿼리 지원을 원하고 그것을 위해 나는 몇 가지 코드가 아래와 같이 변경했을 : 내가 URL 아래에 호출 할 때 그것을 잘 노력하고 있습니다. 기본적으로 &

String[] fArray = filterstr.split("&"); 

https://xx.xx.xx.xx/emp/salary?query=(FirstName startswith anil%26LastName startswith singh) 

%26의 기준으로 문자열을 분할은 기본적으로 &

입니다 그리고 URL 위는 또한 작업 벌금을 사용.

우리 데이터베이스에서 우리는 또한 "anil&kumar"으로 firstname을 지원합니다. 다른 인터페이스를 사용하면 관리자가 모든 구분 기호로 사용자 이름을 만들 수 있습니다.

은 그래서 지금 당신이 먼저 URL을 호출 할 때 : 우리 분할 코드 2 개 부품 anil, kumar에이 사용자를 나누기 때문에 query=(FirstName startswith anil%26kumar), 그것은 실패합니다. 그러나 DB에서 일치 할 수 있도록 하나 여야합니다.

그래서 어떤 생각이 문제를 해결할 수 있습니다. 내가 쿼리 PARAM에서 문자열 아래에있을 때

그럼 난 &로 분할 방법을 사용하여 분리 할 수와 나는이 개 부분

query= (FirstName startswith anil&LastName startswith singh) 
  • 1 일부로 얻을 : FirstName startswith anil
  • 2 부 : LastName startswith singh

하지만 는 같은 쿼리 PARAM을 할 수

query= (FirstName startswith bob&smith&LastName startswith singh) 

이제는 split을 사용하여 bob&smith을 두 부분 (bob, smith)으로 분리하지만 사용자가 bob&smith이기 때문에 원하지 않습니다. 스플릿

[FirstName startswith bob, smith, LastName startswith singh] 

가 더 나은 솔루션을 원하는 후 가 반환됩니다. 첫 번째, 두 번째 쿼리 모두 작동합니다.

답변

0
https://xx.xx.xx.xx/emp/salary?query=(FirstName=bob%26smith&LastName=singh) 

이 잘 작동합니다. 내가이 파이프 기호입니다 다음이

https://xx.xx.xx.xx/emp/salary?query=(FirstName=bob|smith&LastName=singh) 

처럼 할

그리고 당신의 데이터베이스의 경우

이 이름에 대한 분할 방법을 사용하고 나를 위해 잘 작동 ... 내 컴퓨터에이 시도에 분할 그