最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于@RequestParam的使用所遇到的404問題

 更新時(shí)間:2021年08月17日 14:52:02   作者:challengelongyj  
這篇文章主要介紹了關(guān)于@RequestParam的使用所遇到的404問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@RequestParam的使用所遇到的404

問題困擾:

114028_3ZAw_3693384.png

最近在學(xué)習(xí)springmvc,但是學(xué)習(xí)到@RequestParam的使用過程中,遇到了以上的404報(bào)錯(cuò)問題,讓我很無奈,教程的可以,為什么我的不可以?。?!此時(shí)有點(diǎn)煩躁?。?!

問題所在及解決:

經(jīng)過百度之后的說法也是一堆一堆的,最后得知是jsp頁面?zhèn)鞯絚ontroller類方法的形參類型不適合,jsp頁面中寫的是字符串,controller類方法的形參我寫成了Integer類型(畢竟id定義成了Integer類型的)

下面附上jsp頁面代碼圖:會(huì)發(fā)現(xiàn)value="/items/editItems.action?id='${item.id }'"中的id為字符串有單引 號(hào)'',這是錯(cuò)誤的寫法?。?!

114341_v1dZ_3693384.png

重點(diǎn)是這里:正確的應(yīng)該是value="/items/editItems.action?id=${item.id }"去掉單引號(hào)即可

以下附上controller類方法圖:

下面是第一種方式:

要求形參名稱id與jsp中通過request傳過來的參數(shù)名稱一致

114617_szzn_3693384.png

第二種方式:

不要求形參名稱items_id與jsp中通過request傳過來的參數(shù)名稱一致,但是需要加上聲明 @RequestParam(value="id")指定request傳入?yún)?shù)名稱和形參進(jìn)行綁定

114636_TlRc_3693384.png

@RequestParam注解在使用過程一些注意

在項(xiàng)目開發(fā)過程的一些教訓(xùn)經(jīng)驗(yàn)記錄

http接口定義如下:

@RequestMapping(value="/fetchResData",method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE)
void fetchResData(
  @RequestParam(value = "id")Long id 
 ,@RequestParam(value = "start") String start
 ,@RequestParam(value = "end") String end);

請(qǐng)求方式為POST,Content-Type是json格式,@RequestParam的required屬性值默認(rèn)是true。

客戶端在調(diào)用該接口,正常傳入?yún)?shù)值,但是請(qǐng)求沒有進(jìn)入服務(wù)端設(shè)置的斷點(diǎn)。根據(jù)跟蹤的異常提示如下:

{
  "timestamp": 1560339674464,
  "status": 400,
  "error": "Bad Request",
  "exception": "org.springframework.web.bind.MissingServletRequestParameterException",
  "message": "Required Long parameter 'id' is not present",
  "path": "/Service/fetchResData"
}

進(jìn)一步分析客戶端的請(qǐng)求體信息,如果接口使用@RequestParam綁定基本數(shù)據(jù)類型情況下,請(qǐng)求的參數(shù)是接在URL后面,消息體是沒有數(shù)據(jù)的。而接口定義使用的consumes = MediaType.APPLICATION_JSON_VALUE。因此無法從消息體中獲取有效的參數(shù)值。從而服務(wù)端認(rèn)為接口參數(shù)是必填的,而實(shí)際情況是空值。

針對(duì)上述問題的解決辦法

1、修改接口定義中

consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE 

等同于http中content-type為

Content-Type=mutipart/form-data和Content-Type=application/x-www-form-urlencoded

2、Post方式改為Get方式

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea out目錄與target目錄的區(qū)別詳解

    idea out目錄與target目錄的區(qū)別詳解

    這篇文章主要介紹了idea out目錄與target目錄的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • springboot整合shiro實(shí)現(xiàn)記住我功能

    springboot整合shiro實(shí)現(xiàn)記住我功能

    這篇文章主要介紹了springboot整合shiro實(shí)現(xiàn)記住我功能,配置類 ShiroConfig,通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • spring使用RedisTemplate操作Redis數(shù)據(jù)庫

    spring使用RedisTemplate操作Redis數(shù)據(jù)庫

    這篇文章主要介紹了spring使用RedisTemplate操作Redis數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java中Static關(guān)鍵字的五種用法詳解

    Java中Static關(guān)鍵字的五種用法詳解

    這篇文章主要介紹了Java中static的五種用法:修飾成員變量,修飾成員方法,修飾內(nèi)部類,靜態(tài)代碼塊,靜態(tài)導(dǎo)包,想詳細(xì)了解的小伙伴可以參考閱讀本文
    2023-03-03
  • java實(shí)現(xiàn)象棋小游戲

    java實(shí)現(xiàn)象棋小游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)象棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • 使用EasyPOI實(shí)現(xiàn)多sheet動(dòng)態(tài)列導(dǎo)出

    使用EasyPOI實(shí)現(xiàn)多sheet動(dòng)態(tài)列導(dǎo)出

    這篇文章主要為大家詳細(xì)介紹了如何使用EasyPOI根據(jù)指定時(shí)間范圍創(chuàng)建動(dòng)態(tài)列,以及如何將數(shù)據(jù)組織成符合要求的格式并導(dǎo)出,感興趣的可以了解下
    2025-03-03
  • Java?swing創(chuàng)建一個(gè)窗口的簡單步驟

    Java?swing創(chuàng)建一個(gè)窗口的簡單步驟

    這篇文章主要給大家介紹了關(guān)于Java?swing創(chuàng)建一個(gè)窗口的簡單步驟,Java Swing是Java平臺(tái)下的GUI(Graphical User Interface,圖形用戶界面)工具包,提供了豐富的GUI組件,可以實(shí)現(xiàn)復(fù)雜的圖形界面應(yīng)用程序,需要的朋友可以參考下
    2024-06-06
  • Java擴(kuò)展庫RxJava的基本結(jié)構(gòu)與適用場景小結(jié)

    Java擴(kuò)展庫RxJava的基本結(jié)構(gòu)與適用場景小結(jié)

    RxJava(GitHub: https://github.com/ReactiveX/RxJava)能夠幫助Java進(jìn)行異步與事務(wù)驅(qū)動(dòng)的程序編寫,這里我們來作一個(gè)Java擴(kuò)展庫RxJava的基本結(jié)構(gòu)與適用場景小結(jié),剛接觸RxJava的同學(xué)不妨看一下^^
    2016-06-06
  • logback使用MDCFilter日志過濾源碼解讀

    logback使用MDCFilter日志過濾源碼解讀

    這篇文章主要介紹了logback使用MDCFilter日志過濾源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 深入解析JVM之內(nèi)存結(jié)構(gòu)及字符串常量池(推薦)

    深入解析JVM之內(nèi)存結(jié)構(gòu)及字符串常量池(推薦)

    Java作為一種平臺(tái)無關(guān)性的語言,其主要依靠于Java虛擬機(jī)——JVM,接下來通過本文給大家介紹JVM之內(nèi)存結(jié)構(gòu)及字符串常量池的相關(guān)知識(shí),需要的朋友可以參考下
    2020-07-07

最新評(píng)論

岳西县| 彭泽县| 黑河市| 罗平县| 靖宇县| 临高县| 房山区| 哈尔滨市| 高密市| 嘉黎县| 绥化市| 察隅县| 民和| 武定县| 巩义市| 宜宾县| 文水县| 长寿区| 筠连县| 清流县| 阿坝县| 鄂托克旗| 准格尔旗| 渑池县| 英山县| 资中县| 全州县| 政和县| 嘉善县| 汤原县| 尉犁县| 津市市| 鹤峰县| 金沙县| 湘潭市| 宾阳县| 新宁县| 兴山县| 通化县| 延津县| 高邑县|