您好,登錄后才能下訂單哦!
注解RequestMapping中produces屬性可以設置返回數據的類型以及編碼,可以是json或者xml:
@RequestMapping(value="/xxx",produces = {"application/json;charset=UTF-8"})
或
@RequestMapping(value="/xxx",produces = {"application/xml;charset=UTF-8"})
但是必須要和@ResponseBody
注解一起使用才可以,不加@ResponseBody
注解相當于按照和返回String同名jsp頁面解析自然就會報錯。如果返過來,不加produces屬性,只有@ResponseBody注解的話也是沒有問題的,只是在瀏覽器中直接訪問的時候有區別:
情況一:
@RequestMapping(value="/xxx",produces = {"application/json;charset=UTF-8"})
@ResponseBody
情況二:
@RequestMapping(value="/xxx")
@ResponseBody
區別很明顯,第一種顯示比較好看,當然這種接口不是這樣用的,在調試階段比較適合。
如果是xml格式也是瀏覽器顯示有區別:
@RequestMapping(value="/xxx",produces = {"application/xml;charset=UTF-8"})
@ResponseBody
如果不加produces瀏覽器會把標簽解析:
@RequestMapping(value="/xxx")
@ResponseBody
總的來說produces有兩個好處:一個是瀏覽器查看方便(json自動格式化,帶搜索),另一個可以防止中文亂碼。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。