RequestMapping中produces屬性作用

註解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中produces屬性作用
情況二:

@RequestMapping(value="/xxx")
@ResponseBody

RequestMapping中produces屬性作用
區別很明顯,第一種顯示比較好看,當然這種接口不是這樣用的,在調試階段比較適合。
如果是xml格式也是瀏覽器顯示有區別:

@RequestMapping(value="/xxx",produces = {"application/xml;charset=UTF-8"})
@ResponseBody

RequestMapping中produces屬性作用
如果不加produces瀏覽器會把標籤解析:

@RequestMapping(value="/xxx")
@ResponseBody

RequestMapping中produces屬性作用
總的來說produces有兩個好處:一個是瀏覽器查看方便(json自動格式化,帶搜索),另一個可以防止中文亂碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章