問:@ResponseBody注解怎么指定返回xml 還是json
答:@RequestMapping 的produces 屬性指定
produces = "application/xml" 或者 produces = "application/json"
返回xml
文件編碼是utf-8,需要以下這么寫,否則亂碼
@RequestMapping(value = "/rss", produces = "application/xml;charset=utf-8")
@ResponseBody
public String loadRss() throws Exception {
//return 將xml轉換成對應的String
}
頁面顯示結果如下:可參考 https://jiashubing.cn/rss
返回json
除了上面那種明顯指定的方法,可以下面這樣,不需要指定produces
1、創建實現了序列化的對象
public class Result implements Serializable {
private static final long serialVersionUID = -349012453592429794L;
private int status
//get set
}
2、返回這個序列化對象
@RequestMapping(value = "/checkSudoku")
@ResponseBody
public Result checkMobilegamesSudoku(String sudokuList) {
result.setStatus(1);
return result;
}
返回xml錯誤嘗試1
Controller中返回String類型,將xml數據在代碼中轉換成String,輸出到頁面上
查看源代碼會發現,輸出的全是xml文件,但會導致中文亂碼,而且實際頁面上展示的,相當於把這段字符當做當做html文本展示了,並沒有展示xml的標簽
返回xml錯誤嘗試2
直接返回對象,如下圖:
原創文章,歡迎轉載,轉載請注明出處!