人海中尋找,真的遇到你——Spring @ responsebody

  當你面對一件事情,無計可施的時候,你是選擇放棄,還是選擇繼續呢?生活中的我們總是在尋找下一個路口,也許就是在下一個路口就是我們轉角處。

  今天在調試ajax發送post請求的時候遇到了一個問題,就是發送的請求明明成功了,但是就是返回不了結果,後臺使用的是spring mvc進行接收的,與前面的很多方法進行對比,發現一樣了,試了很多方法就是不行,最後採取的是再試試。

  終於發現了不一樣的地方,那就是下了一個註解@ responsebody,那麼它的神奇作用是什麼呢?

  POST模式下,使用@RequestBody綁定請求對象,Spring會幫你進行協議轉換,將Json、Xml協議轉換成你需要的對象。而我的返回結果就是json形式的。

  @ResponseBody可以標註任何對象,由Srping完成對象——協議的轉換。

  @responsebody表示該方法的返回結果直接寫入HTTP response body中

  一般在異步獲取數據時使用,在使用@RequestMapping後,返回值通常解析爲跳轉路徑,加上@responsebody後返回結果不會被解析爲跳轉路徑,而是直接寫入HTTP response body中。比如異步獲取json數據,加上@responsebody後,會直接返回json數據。

  也就是說前面我的執行結果會出現錯誤的原因在於我沒有加上@responsebody,而是隻有一個@RequestMapping,故而此時我的結果縱然是正確的,但是在使用@RequestMapping後,返回值通常解析爲跳轉路徑,而不會將我的信息進行返回,這個時候總是提示error信息要求我重試,但是加上@responsebody,我們就可以輕鬆實現將數據寫入到response body,也就是說我的返回格式爲json的數據就可以正常進行返回了。

  千絲萬縷的聯繫,盡在尋找中,用心去體會每一個功能的神奇之處,spring mvc註解是一個很大的學問,裏面的知識等着我再次去挖掘,去發現~

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