Я пытаюсь использовать @BeanParam аннотацию Джерси следующим образом:Используя результаты @BeanParam Джерси в ошибке 415
Это мой боб:
public class BeanParamModel {
@QueryParam(value = "param1")
private String param1;
public BeanParamModel(@QueryParam("param1") String param1) {
this.param1 = param1;
}
public String getParam1() {
return param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}}
И это метод ресурс, который должен использовать:
@Consumes("*/*")
@Path("mypath")
@GET
public Response getUpgradeStatus(@QueryParam("param1") String param1, @BeanParam BeanParamModel user) {
return Response.ok().build();
}
Теперь я хочу, чтобы проверить это с помощью теста блока, который посылает запрос HTTP на тестовый сервер со следующим URL:
GET http://path_to_resource?param1=1
Моя проблема заключается в том, что результаты в 415 ответ с Джерси печати это сообщение:
сообщение тело читалка для класса Java BeanParamModel и типа класса Java BeanParamModel, и применение MIME тип носителя/octet-stream не найден. Читателей тела зарегистрировано сообщение, совместимые с типом MIME медиа являются: ...
Я пытаюсь добавить заголовок «применение/х-WWW-форм-urlencoded», но повторяет сообщение для этого типа заголовка, как Что ж. Я также пробовал использовать заголовок application/json, это приводит к выходу EOF из карт-адаптера jackson из-за окончания ввода.
Может ли кто-нибудь сказать мне, что я делаю неправильно? из джерси документация @BeanParam кажется довольно простой.
Почему вы потребляете '*/*' ?. Вы понимаете, что это значит для вашего приложения? –
Приведенный выше код является упрощенной версией ресурса для демонстрации проблемы, с которой я столкнулся, а не с фактическим приложением. Что касается аннотации потребления: я попытался использовать типы приложений, которые соответствуют заголовку, который я отправляю, но который не имеет эффекта, все еще получая те же ошибки. – Anat