Spring 如何从HttpHeader中提取客户端数据?
我有一个登录post请求Spring 如何从HttpHeader中提取客户端数据?,spring,http-headers,Spring,Http Headers,我有一个登录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,@Re
@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 {
//........
}
@RequestMapping(value=EWPRestContants.DO\u LOGIN,method=RequestMethod.POST,consumes=MediaType.APPLICATION\u XML\u value,products=MediaType.TEXT\u PLAIN\u value)
公共响应属性doLogin(@RequestBody Loginrequest logReq、@RequestHeader HttpHeaders、HttpServletRequest、HttpServletResponse httpResponse)引发异常{
//........
}
我想从标题中提取数据。是否有这样做的API
假设我的标题包含客户msIsdn编号和名称。如何获取这些详细信息。getFirst()用于获取用户代理详细信息或仅获取起始行
这就是答案。
stringid=headers.getFirst(“id”)代码>类似
@RequestHeader(value=“User Agent”,defaultValue=“foo”)字符串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\u LOGIN,method=RequestMethod.POST,consumes=MediaType.APPLICATION\u XML\u value,products=MediaType.TEXT\u PLAIN\u value)
public ResponseEntity doLogin(@RequestBody Loginrequest logReq、@RequestHeader(value=“User Agent”、defaultValue=“foo”)String userAgent、@RequestHeader(value=“Accept Language”)String acceptLanguage、HttpServletRequest、HttpServletResponse)引发异常{
//........
}
或来自
@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);
}
@RequestMapping(value=EWPRestContants.DO\u LOGIN,method=RequestMethod.POST,consumes=MediaType.APPLICATION\u XML\u value,products=MediaType.TEXT\u PLAIN\u value)
公共响应属性doLogin(@RequestBody Loginrequest logReq、@RequestHeader HttpHeaders、HttpServletRequest、HttpServletResponse httpResponse)引发异常{
字符串userAgent=headers.getFirst(HttpHeaders.USER\u AGENT);
}
从第二个解决方案中,用户代理无法解析或不是字段
我得到以下错误。感谢@kuhajeyan的努力。