注解@RequestMapping中的produces,consumes屬性


今天在項目中看到了@RequestMapping中有兩個屬性,consumes和produces,於是就想弄清楚這兩個屬性是干什么的。

本來想貼自己項目的代碼,但是公司比較嚴格,所以不貼了

一、produces

指定返回值類型,並且可以設置返回值類型和返回值的字符編碼;

demo

/**屬性produces="application/json"時,返回json數據*/
@Controller    
@RequestMapping(value = "/{path}", method = RequestMethod.GET, produces="application/json")    
public Object permissionGet(@PathVariable String path, @MyParameter PermissionTransRQ permissionTransRQ) {       
    //實現自己的邏輯調用
    return null;
}    

/**屬性produces="MediaType.APPLICATION_JSON_VALUE;charset=utf-8"時,設置返回數據的字符編碼為utf-8*/
@Controller    
@RequestMapping(value = "/{path}", method = RequestMethod.GET, produces="MediaType.APPLICATION_JSON_VALUE;charset=utf-8")    
public Object permissionGet(@PathVariable String path, @MyParameter PermissionTransRQ permissionTransRQ) {       
    //實現自己的邏輯調用
    return null;
}   

特別說明:produces="application/json"和注解@ResponseBody是一樣的效果,使用了注解其實可以不使用該屬性了。

 

二、consumes

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

demo

@Controller  
@RequestMapping(value = "/{path}", method = RequestMethod.POST, consumes="application/json")  
public Object permissionPost(@PathVariable String path, @RequestBody PermissionTransRQ permissionTransRQ) {      
    //實現自己的邏輯調用
    return null;
}  

 


免責聲明!

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



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