@requestMapping的produces和consumes屬性


https://blog.csdn.net/zhanyu1/article/details/82849490?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2

 

@requestMapping的produces和consumes屬性

produces:它的作用是指定返回值類型,不但可以設置返回值類型還可以設定返回值的字符編碼;

consumes: 指定處理請求的提交內容類型(Content-Type),例如application/json, text/html;

一、produces的例子

produces第一種使用,返回json數據,下邊的代碼可以省略produces屬性,因為我們已經使用了注解@responseBody就是返回值是json數據:

--------------------- 本文來自 jaryle 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/jaryle/article/details/72965885?utm_source=copy

  1.  
    @Controller
  2.  
    @RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, produces="application/json")
  3.  
    @ResponseBody
  4.  
    public Pet getPet(@PathVariable String petId, Model model) {
  5.  
    // implementation omitted
  6.  
    }

produces第二種使用,返回json數據的字符編碼為utf-8:

  1.  
    @Controller
  2.  
    @RequestMapping(value = "/pets/{petId}", produces="MediaType.APPLICATION_JSON_VALUE"+";charset=utf-8")
  3.  
    @ResponseBody
  4.  
    public Pet getPet(@PathVariable String petId, Model model) {
  5.  
    // implementation omitted
  6.  
    }

 二、consumes的例子(方法僅處理request Content-Type為“application/json”類型的請求。)

  1.  
    @Controller  
  2.  
    @RequestMapping(value = "/pets", method = RequestMethod.POST, consumes="application/json")  
  3.  
    public void addPet(@RequestBody Pet pet, Model model) {      
  4.  
         // implementation omitted  
  5.  
    }  
  6.  
     
  7.  
     

------------------------------------------------------------------------------------------------------------

3、 params,headers;
params: 指定request中必須包含某些參數值是,才讓該方法處理。

譯文

@RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, params="myParam=myValue")
1
headers: 指定request中必須包含某些指定頭信息,才能讓該方法處理請求。

譯文
映射請求的頭,用來縮小主映射范圍。
在任何環境中都是一樣的格式如:My-Header = “myValue”。
他支持!寫法和*符號,例子:
@RequestMapping(value =”/something”, headers = “content-type=text/*”)
它將會匹配有Content-Type的請求,並且值為text/html 或 text/plain 等。
支持類類型和方法類型,如果用在類類型上, 所有的方法類型映射將會繼承類類型的頭限制。
@see org.springframework.http.MediaType


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM