Rest @PathParam не работает

#java #spring #web-services #rest #cxf

#java #весна #веб-сервисы #rest #cxf

Вопрос:

Я работаю над веб-службой REST, используя CXF. Я опубликовал свой веб-сервис, и он работает нормально, за исключением следующего метода, для которого требуется параметр:

 @GET
@Path("/capteur/{id}")  
public Capteur selectCapteurByID(@PathParam(value = "id")String id) {
System.out.println(id);
return capteurDao.getCapteur(id);
}
  

Когда я пытаюсь получить доступ к своей службе, используя URL: localhost:8080/FireApp/rest/myService/myservice/capteur/11554

Я не получаю ответа и следующее сообщение журнала:

 DEBUG o.a.cxf.ws.addressing.ContextUtils - WS-Addressing - failed to retrieve Message Addressing Properties from context
  

Ответ №1:

Вам нужно будет аннотировать конечную точку как @Path вместо @WebService, чтобы она работала для конечных точек REST.

Комментарии:

1. @Admin, почему это не дает ответов? Вы продолжаете удалять сообщение.

Ответ №2:

WS-адресация довольно специфична для JAX-WS / SOAP, а не для RESTful JAX-RS.

Вы уверены, что не смешиваете JAX-WS (@WebService) с JAX-RS в своем классе?

Комментарии:

1. Да, конечно, аннотация (@WebService не отсутствует) при проверке сообщений отладки я также обнаружил это сообщение: 22:18:17.612 [http-bio-8080-exec-3] DEBUG o.apache.cxf.jaxrs.utils. JAXRSUtils — Тип содержимого не указан для HTTP GET