Ниже приведена моя подпись метода, которую я использую в Джерси, когда я отлаживаю/запускаю программу, я получаю сообщение об ошибке:
[[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) {
}
Что я делаю неправильно здесь.
Спасибо
Ответ 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 Вы должны взглянуть и немного прочитать об этом, если вы еще этого не сделали :)