1. 程式人生 > 其它 >演算法靈魂源自數學--數論數學筆記

演算法靈魂源自數學--數論數學筆記

簡單表述:控制檯出現了這個異常:Error resolving template "xxx", template might not exist or might not be accessible by any of the configured Template Resolvers

解決辦法:在報出這個異常的方法上添加註解@ResponseBody

講一下個人理解:這個註解就是用來區別 方法的返回值字串 和 檢視解析器解析的頁面名字字串 的衝突的,舉個例子:方法A返回的字串success,如果和ajax的回撥函式裡的msg匹配,就彈出一個“執行成功”,因為success只是普通的字串,所以要在方法上邊加上@ResponseBody。   方法B的返回值是“/contextList”,而這個就是一個頁面contextList.jsp或者是contextList.html(具體是什麼看配置,反正是個頁面)。

 @ResponseBody 這個註解, 就表明該方法的返回值直接寫入到 HTTP Response Body 中。 這就是說,如果返回的是JSON, 就得必須新增 @ResponseBody 這個註解,一般在非同步獲取資料時使用,在使用@RequestMapping後,返回值通常解析為跳轉路徑,加上@responsebody後返回結果不會被解析為跳轉路徑,而是直接寫入HTTP response body中。比如非同步獲取json資料,加上@responsebody後,會直接返回json資料。

網上找的資料(部落格連結:https://blog.csdn.net/Ocean_tu/article/details/80989584):

controller層加註解@Controller 和@RestController都可以在前端調通介面,但是二者的區別在於,當用前者的時候在方法上必須添加註解@ResponseBody,如果不新增@ResponseBody,就會報上面錯誤,因為當使用@Controller 註解時,spring預設方法返回的是view物件(頁面)。而加上@ResponseBody,則方法返回的就是具體物件了。@RestController的作用就相當於@Controller+@ResponseBody的結合體

原文連結:https://blog.csdn.net/persistencegoing/article/details/88061974