Я подозреваю, что запрос GET каким-то образом перепутался. Когда я построил ресурс JAX-RS с использованием вашей сигнатуры метода, все работало, как ожидалось. Единственный способ, которым я мог воспроизвести исключение NumberFormatException, заключался в том, что в конце номера помещался нечисловой символ (например, «< ...>/selection/HEBDOMADAIRE/206862_? Confirme = true»). Это заставляет меня думать, что ваш знак вопроса ускользает или что-то в этом роде.
Вот код, который я использовал:
@GET
@Path("/selection/{typeAssignation}/{numeroEmploye}")
public Response obtenirChoixSecteurs(@PathParam("typeAssignation") String typeAssignation,
@PathParam("numeroEmploye") Long numeroEmploye,
@QueryParam("confirme") @DefaultValue("true") Boolean confirme) {
String s = "obtenirChoixSecteurs typeAssignation='" + typeAssignation + "' numeroEmploye=" + numeroEmploye + " confirme='" + confirme + "'";
System.out.println(s);
return Response.ok("success: " + s).build();
}
Выход в журналах (и браузер) был:
obtenirChoixSecteurs typeAssignation='HEBDOMADAIRE' numeroEmploye=206862 confirme='true'
Интересно, если вы могли бы иметь больше удачи, используя клиент JAX-RS API-интерфейсы для вызова службы, как:
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:9080/myApp/rest/res/selection/HEBDOMADAIRE/206862?confirme=true");
System.out.println(target.request().get(String.class));
тестовый клиент должен быть с использованием JAX-RS 2.0 API, но я был в состоянии чтобы получить успешный результат с обеих jaxrs-1.1 и jaxrs-2.0 с использованием функциями Liberty 16.0.0.3
Несколько других мыслей:
- Вы добавляете класс ресурсов в вас getClasses Применения метода()? Я не думаю, что это необходимо с 2.0, но может потребоваться для 1.1.
- Есть ли у вас какие-либо другие провайдеры, фильтры, перехватчики и т. Д., Которые могут воспроизводиться с помощью URL-адреса?
Надеется, что это помогает, Энди
Я бы не рекомендовал получать введенные значения в URL-адресе, я бы установил все как строку и проанализировал ее после. – Galeixo
Есть ли причина, по которой вы рекомендуете не использовать стандартный REST API? Downvoted, потому что это не отвечает на мою проблему вообще ... – titou10