對接第三方服務,說傳遞的POST請求中,Request Header中有需要的參數,Request Body為XML格式,包括創建消息正文和屬性。
剛開始我以為可以通過 HttpServletRequest 來獲取到RequestBody 中的內容的,比如request.getParameter("TopicOwner"); 可以取到需要的參數,簡直 too yang。
應該是通過 @RequestBody String body 這樣的注解來完成的,得到的是String 字符串
描述的是:Request Body為XML格式。那么怎么可能通過getParameter 獲取到參數呢。只能得到body的String格式啊,然后再自己解析
這么一個坑還燒了那么多腦細胞。。。
同樣@RequestHeader("Authorization") String authorization, 可以很方便的獲取到RequestHeader ,但是只能一個一個獲取
可以通過HttpServletRequest 獲取到所有的RequestHeader,如下:
Enumeration<String> headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { //獲取每個請求頭名稱 String headerName = headerNames.nextElement(); //跟距請求頭獲取請求值 String value = request.getHeader(headerName); System.out.println(headerName + " : " + value); log.error(headerName + " : " + value); }