1. 程式人生 > 實用技巧 >HttpMessageConverter<T> & @RequestBody & ResponseBody & HttpEntity & ResponseEntity

HttpMessageConverter<T> & @RequestBody & ResponseBody & HttpEntity & ResponseEntity

1.HttpMessageConverter<T> ----------------->介面①簡介
* Strategy interface that specifies a converter that can convert from and to HTTP requests and responses.
HttpMessageConverter<T> 是 Spring3.0 新新增的一個介面,負責將請求資訊轉換為一個物件(型別為 T),或者將物件( 型別為 T)輸出為響應資訊②HttpMessageConverter<T>的常用實現類DispatcherServlet 預設裝配 RequestMappingHandlerAdapter ,而 RequestMappingHandlerAdapter 預設裝配如下 HttpMessageConverter

2.@RequestBody & ResponseBodyTalk is cheap! Show me your code!ResponseBody
   ////////////////@ResponseBody/////////////////////////////
	@ResponseBody
    @RequestMapping("testRequestBody")
    public String testRequestBody(){
        return "abc";
    }
////////////////////////@RequestBody///////////////////////////
    @RequestMapping("testRequestBody")
    public String testRequestBody(@RequestBody String body){
        System.out.println(body);
        return "SUCCESS";
    }
3.HttpEntity & ResponseEntity
////////////HttpEntity/////////////// 將請求報文轉化為String型別物件
    @RequestMapping("testHttpEntity")
    public String testHttpEntity(HttpEntity<String> entity){

        System.out.println(entity.getHeaders().getContentLength());
        return "a";
    }

///////////////ResponseEntity/////////////////////  體現出的就是下載的感覺,就是將伺服器的資源回傳給客戶端
    @RequestMapping("testResponseEntity")
    public ResponseEntity<String> testResponseEntity(){

        ResponseEntity<String> responseEntity = new ResponseEntity<String>("hello world",
                HttpStatus.OK);
        return responseEntity;
    }


來自為知筆記(Wiz)