#spring #http-headers
#spring #http-заголовки
Вопрос:
У меня есть post-запрос для входа в систему.
@RequestMapping(value = EWPRestContants.DO_LOGIN, method = RequestMethod.POST, consumes=MediaType.APPLICATION_XML_VALUE,produces=MediaType.TEXT_PLAIN_VALUE)
public ResponseEntity<String> doLogin(@RequestBody Loginrequest logReq,@RequestHeader HttpHeaders headers, HttpServletRequest request, HttpServletResponse httpResponse) throws Exception {
//........
}
Я хочу извлечь данные из заголовка. Есть ли API для этого?
Предположим, мой заголовок содержит номер msIsdn клиента и его имя. Как мне получить эти данные. getFirst() используется для получения сведений об агенте пользователя или только начальной строки.
Это ответ. String id= headers.getFirst("ID");
Ответ №1:
Нравится
@RequestHeader(значение =»User-Agent», defaultValue=»foo») String UserAgent
@RequestMapping(value = EWPRestContants.DO_LOGIN, method = RequestMethod.POST, consumes=MediaType.APPLICATION_XML_VALUE,produces=MediaType.TEXT_PLAIN_VALUE)
public ResponseEntity<String> doLogin(@RequestBody Loginrequest logReq,@RequestHeader(value="User-Agent", defaultValue="foo") String userAgent,@RequestHeader(value="Accept-Language") String acceptLanguage, HttpServletRequest request, HttpServletResponse httpResponse) throws Exception {
//........
}
или из
@RequestMapping(value = EWPRestContants.DO_LOGIN, method = RequestMethod.POST, consumes=MediaType.APPLICATION_XML_VALUE,produces=MediaType.TEXT_PLAIN_VALUE)
public ResponseEntity<String> doLogin(@RequestBody Loginrequest logReq,@RequestHeader HttpHeaders headers, HttpServletRequest request, HttpServletResponse httpResponse) throws Exception {
String userAgent = headers.getFirst(HttpHeaders.USER_AGENT);
}
Комментарии:
1. Из второго решения
USER_AGENT cannot be resolved or is not a field
я получаю следующую ошибку.2. Спасибо @kuhajeyan за ваши усилия.