#jersey-2.0
Вопрос:
Ниже приведен обработчик метода
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public ReturnValue postProcessor(@HeaderParam(LIMSRestAPI.AUTH_TOKEN_ID) String auth_token, MultivaluedMap<String, String> formParams) throws LIMSAPIException {
....
}
Я использую пользовательский интерфейс SOAP, а также пользовательский интерфейс swagger для вызова этого обработчика. Отладка показывает, что auth_token устанавливается, но многозначное изображение имеет размер 0.
Затем я изменил код на следующий
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public ReturnValue postProcessor(@HeaderParam(LIMSRestAPI.AUTH_TOKEN_ID) String auth_token, MultivaluedMap<String, String> formParams, @Context HttpServletRequest request) throws LIMSAPIException {
....
}
Затем я могу получить карту параметров из объекта запроса. Но все же я не могу понять, почему многозначная карта не заполняется
Комментарии:
1. Как выглядит полный запрос? Вы уверены, что в теле есть данные?
2. да, запрос.getParameterMap дает мне то, что я хочу.. это только многозначная карта, которая не заполняется
3. Поток запросов уже считан, и значения больше недоступны. Возможно, вам потребуется использовать либо
@FormParam
то, либо другое, либо вам нужно получитьForm
из этого внутреннего свойства . Это распространенная проблема.