springmvc返回xml格式、json格式數據


問:@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

直接返回對象,如下圖:

 

原創文章,歡迎轉載,轉載請注明出處!

 


免責聲明!

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



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