類添加注解@RequestMapping報錯HTTP Status 404的解決
類添加注解@RequestMapping報錯HTTP Status 404
為類添加了@RequestMapping注解后,運行報錯404,路徑不對,找了半天才發(fā)現原來是我的視圖解析器的前綴沒有寫正確
在WEB-INF前面少加了一個/,加上之后運行ok
springMVC使用@RequestMapping遇到的問題
1.簡介
@RequestMapping既可以定義Controller,也可以定義方法Controller中的方法,主要是用來映射url的請求路徑
2.屬性簡介
value
:指定請求的實際地址,指定的地址可以是URI Template 模式(后面將會說明);method
:指定請求的method類型, GET、POST、PUT、DELETE等;consumes
:指定處理請求的提交內容類型(Content-Type),例如application/json, text/html;produces
:指定返回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才返回params
:指定request中必須包含某些參數值是,才讓該方法處理。headers
:指定request中必須包含某些指定的header值,才能讓該方法處理請求。
3.測試使用時遇到的問題
先看源代碼:
@RequestMapping(value="/api/{wayName}") public void getData(@PathVariable String wayName,@RequestParam("appkey") int appkey, @RequestParam("type") int type){ System.out.println("wayName:"+wayName+"--appkey:"+appkey+"--type:"+type); } @RequestMapping(value="/test") public void test(){ System.out.println("test----------commmin"); }
訪問/api/test時報HTTP Status 404 -錯誤,訪問/test時也會報 HTTP Status 404 -錯誤
有時會報Circular view path [list]: would dispatch back to the current handler URL [/list] again錯誤
在網上查了資料,了解到每個controller在初始化,如果你沒有聲明viewResolver,spring會注冊一個默認的viewResolver給controlller,這個viewResolver本人簡單的理解就是一個呈現處理結果到前端的工具,如果你視圖的路徑和請求路徑一樣,就會出現死循環(huán)。
或者你如果在你的方法中沒有返回數據到前端,這兩個錯誤都有可能會出現。
所以最終的解決方法就是返回數據到前端
解決后的源碼是
@RequestMapping(value="/api/{wayName}") @ResponseBody public String getData(@PathVariable String wayName,@RequestParam("appkey") String appkey, @RequestParam("type") String type){ return "wayName:"+wayName+"--appkey:"+appkey+"--type:"+type; } @RequestMapping(value="/test") public void test(HttpServletRequest request,HttpServletResponse response) throws IOException{ response.getWriter().print("Hello World"); }
其中@ResponseBody是表示返回的數據輸出到輸出流中。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
spring boot+jwt實現api的token認證詳解
這篇文章主要給大家介紹了關于spring boot+jwt實現api的token認證的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一學習學習吧2018-12-12