2015-07-21 3 views
0

Я пользуюсь услугой CXF - Rest.Apache CXF - URL-адрес остатка URL-адреса

@GET 
@Produces({"application/xml", "application/json"}) 
@Path("/search/") 
R findUser(@QueryParam("email") String email); 

Я вызов GET звонка от Postman или cURL, что-то вроде этого

http://localhost:8080/rest-service/search/[email protected] 

Но когда я отладки email поля, я получаю поле данных как test [email protected]. Я думаю, где-то происходит декодирование URL, и из-за этого исчезает +? Как настроить CXF/службу на not to alter параметры URL-адреса

ответ

3

Добавьте аннотацию @Encoded к вашему методу, который отключит автоматическое декодирование параметров. См here

отключает автоматическое декодирование значений параметров, связанных с использованием QueryParam, PathParam, FormParam или MatrixParam. Используя эту аннотацию , метод будет отключать декодирование для всех параметров. Использование аннотации в классе отключит декодирование для всех параметров всех методов .