Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Jersey @PathParam: содержит несколько параметров без аннотаций.

Автор вопроса: Shivkumar MallesappaОтветов: 1

Ниже приведена моя подпись метода, которую я использую в Джерси, когда я отлаживаю/запускаю программу, я получаю сообщение об ошибке:

[[FATAL] Публичный метод javax.ws.rs.core.Response com.xxxx.xxxxx.Xxxxx.xxxxx.xxxxxxxx(java.lang.String,java.lang.String,java.lang.String,javax.ws.rs .container.ContainerRequestContext) в классе ресурсов com.xxxxxx.xxxxx.xxxxxx.xxxxxx содержит несколько параметров без аннотаций.

Мой код:

@PUT
@Path("/user/{user}/{role}")
@Consumes({MediaType.APPLICATION_JSON,MediaType.TEXT_PLAIN})
@Produces("application/json")

public Response myFunction(@PathParam("user") String user,
    @PathParam("role") String role,
    String rawData,
    @Context ContainerRequestContext crc) {

}

Что я делаю неправильно здесь.

Спасибо

jersey

Ответы

Ответ 1 · рейтинг 1 · Karl Evald Wigestrand

Изменить: этот ответ помог мне решить мою ошибку, но, как упомянул Кассио Маццоки Молин в комментарии ниже: он вам не поможет (и документация предназначена для неправильной версии Джерси..). Полный промах с моей стороны.

Пожалуйста, извините мою попытку помочь вам. Надеюсь, вы уже исправили свою ошибку :)

Ахой там!

Я действительно новичок в REST (так что возьмите мой ответ с ведром травяной соли), но я думаю, что знаю, откуда исходит ваша ошибка.

Вы должны связать свой параметр rawData.

Пример: @PathParam("rawdata") String rawData или @HeaderParam("rawdata") String rawData

В зависимости от того, откуда вы хотите извлечь параметр, вы должны написать @аннотацию к параметру.

Вы можете извлечь следующие типы параметров для использования в вашем классе ресурсов:

  • Запрос
  • URI
  • Дорожка
  • Форма
  • Куки
  • Заголовок
  • Матрица

Текст выше взят из ссылки: http://docs.oracle.com/javaee/6/tutorial/doc/gilik.html Вы должны взглянуть и немного прочитать об этом, если вы еще этого не сделали :)

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы