1.簡單介紹:
HttpEntity表示Http請求的實體和Http響應的實體;
RequestEntity表示請求的實體,里面有獲取請求頭,請求行,等內容的方法;
ResponseEntity表示Http響應的實體,里面有響應行,響應體等的方法;
HttpHeaders表示請求實體,響應實體的header頭,通過創建httpHeaders放在requestEntity返回響應頭的信息。
2.應用場景:
通常結合RestTemplate發送http請求,獲取請求實體requestEntity,響應實體里面responseBody里面的數據。
3.舉例說明:
3.1使用ajax發送異步請求
$.ajax({ type: "POST", url: targetUrl, data: user,//傳遞的參數 dataType:"json",//前端可以接收服務器傳過來的數據的類型,json contentType: "application/json", beforeSend: function(xhr){//請求發送之前執行函數,添加請求頭 xhr.setRequestHeader("token","shfashfdasfhdashfoasf"); }, success: function(user){ alert(user.username); }, error:function(){ alert("異常,請檢查"); }
3.2controller接受請求過來的參數信息
1 @PostMapping("user/{id}") 2 public ResponseEntity<User>getUserId(@PathVariable("id")Long id, RequestEntity requestEntity){ 3 //獲取請求url 4 System.out.println ("請求url:"+requestEntity.getUrl () ); 5 System.out.println ("獲取請求頭信息:" ); 6 HttpHeaders headers = requestEntity.getHeaders ( ); 7 8 System.out.println ("內容的長度:"+headers.getContentLength () ); 9 System.out.println ( "文檔類型:"+headers.getContentType () ); 10 System.out.println ("accept:"+ headers.getAccept ()); 11 System.out.println ("Origin:"+ headers.getOrigin ()); 12 System.out.println ("TOKEN"+ headers.getFirst ("token")); 13 14 HttpHeaders responseHeader = new HttpHeaders ( ); 15 responseHeader.set ("key","value"); 16 User user = new User (); 17 user.setId (1L); 18 user.setName ("王傑"); 19 user.setAge (23); 20 user.setEmail ("yahuimiao"); 21 22 return new ResponseEntity<User> (user,responseHeader, HttpStatus.OK); 23 24 // User user = userService.findById (id); 25 // return user.toString (); 26 27 }