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

解決@RequestBody接收json對象報錯415的問題

 更新時間:2021年06月08日 08:43:10   作者:大造夢家  
這篇文章主要介紹了解決@RequestBody接收json對象報錯415的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@RequestBody接收json對象報錯415

前端請求:

$.ajax({
            url: basePath() + "/index/login.do",
            type : "post",
            data: JSON.stringify(form),
            dataType : "json",
            contentType : "application/json;charset=utf8",
            success: function (data) {
                console.log(data);
            },
            error: function () {
 
            }
        });

后端接收:

@ResponseBody
 @RequestMapping(value = "/login",method = RequestMethod.POST,produces = "application/json;charset=utf8")
 public JSONObject login(@RequestBody LoginVo loginVo){
 
  JSONObject result = new JSONObject();
  UsernamePasswordToken token = new UsernamePasswordToken(loginVo.getUsername(),loginVo.getPassword());
  System.out.println(loginVo.isRememberMe());
  Subject subject = SecurityUtils.getSubject();
  subject.login(token);
  if (subject.isAuthenticated()){
   result.put("result",true);
  }else{
   result.put("result",false);
  }
  return result;
 }

前端ajax請求,后端使用@RequestBody接收,報出415請求數(shù)據(jù)格式錯誤

錯誤原因:

springMVC無法讀取ajax設(shè)置好的dataType并以對應(yīng)的方式處理請求頭,進而無法處理json數(shù)據(jù)

解決辦法:

在maven中引入Jackson相關(guān)jar包,并在springMVC的xml中引入相關(guān)配置,maven和springMVC的相關(guān)代碼如下:

maven:

<dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.6</version>
        </dependency>
 
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.6</version>
        </dependency>
 
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.6</version>
        </dependency>

springMVC:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <!-- 設(shè)置返回字符串編碼 -->
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name = "supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>
                            <value>application/json;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
                <!-- json轉(zhuǎn)換器 -->
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>
                            <value>application/json;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>

后端使用@RequestBody接收前端傳來的數(shù)據(jù)

踩坑①

@RequestBody接收json字符串,只能使用post的提交方式

前端直接復(fù)制了相似功能頁面的js,該頁面是使用的get的提交方式

但前端報錯500,后端報錯提示

2019-09-12 09:17:43.088 ERROR GlobalExceptionHandler : An exception occurs within the system : Required String parameter ‘xxx' is not present

踩坑②

后將.get(URL,data,callback)修改為.post(URL,data,callback);

$.post(URL,data,callback);

必需的 URL 參數(shù)規(guī)定您希望請求的 URL。

可選的 data 參數(shù)規(guī)定連同請求發(fā)送的數(shù)據(jù)。

可選的 callback 參數(shù)是請求成功后所執(zhí)行的函數(shù)名

但前端繼續(xù)報錯500,后端報錯提示

2019-09-12 09:23:15.409 ERROR GlobalExceptionHandler : An exception occurs within the system : Content type ‘a(chǎn)pplication/x-www-form-urlencoded;charset=UTF-8' not supported

踩坑③

后端提示不支持Content type 為'application/x-www-form-urlencoded;charset=UTF-8'的格式,百度查了一下.post(URL,data,callback)只是預(yù)配置.ajax調(diào)用的快捷方式,并不能修改contentType的類型

所以將$.post方法修改為了&.ajax方法

設(shè)置

type: “post”,
url: ctx + url,
data: JSON.stringify(allData),
dataType: “json”,
contentType:“application/json;charset=utf-8”,

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

相關(guān)文章

  • Java中的StringTokenizer實現(xiàn)字符串切割詳解

    Java中的StringTokenizer實現(xiàn)字符串切割詳解

    這篇文章主要介紹了Java中的StringTokenizer實現(xiàn)字符串切割詳解,java.util工具包提供了字符串切割的工具類StringTokenizer,Spring等常見框架的字符串工具類(如Spring的StringUtils),需要的朋友可以參考下
    2024-01-01
  • SpringBoot整合Shiro的方法詳解

    SpringBoot整合Shiro的方法詳解

    Apache?Shiro是一個java安全(權(quán)限)框架,Shiro可以非常容易的開發(fā)出足夠好的應(yīng)用,其不僅可以用在javase環(huán)境,也可以用在javaee環(huán)境。本文介紹了SpringBoot整合Shiro的方法,需要的可以參考一下
    2022-05-05
  • 詳解Java語言中的抽象類與繼承

    詳解Java語言中的抽象類與繼承

    這篇文章主要為大家詳細介紹了Java語言中的抽象類與繼承的相關(guān)資料,文中的示例代碼講解詳細,對我們學(xué)習(xí)Java有一定的幫助,感興趣的小伙伴快跟隨小編一起了解一下
    2022-10-10
  • Java運算符的常見問題與用法小結(jié)

    Java運算符的常見問題與用法小結(jié)

    這篇文章主要介紹了Java運算符,結(jié)合實例形式總結(jié)分析了Java各種常見運算符,包括算術(shù)運算符、比較運算符、邏輯運算符、位運算符等相關(guān)功能、原理與使用技巧,需要的朋友可以參考下
    2020-04-04
  • Java 獲取兩個List的交集和差集,以及應(yīng)用場景操作

    Java 獲取兩個List的交集和差集,以及應(yīng)用場景操作

    這篇文章主要介紹了Java 獲取兩個List的交集和差集,以及應(yīng)用場景操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • SpringBoot如何接收前端傳來的json數(shù)據(jù)

    SpringBoot如何接收前端傳來的json數(shù)據(jù)

    這篇文章主要介紹了SpringBoot如何接收前端傳來的json數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • springboot打包jar和war包的教程圖解

    springboot打包jar和war包的教程圖解

    這篇文章主要介紹了springboot打包jar和war包的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Java.lang.Long.parseLong()方法詳解及示例

    Java.lang.Long.parseLong()方法詳解及示例

    這個java.lang.Long.parseLong(String s) 方法解析字符串參數(shù)s作為有符號十進制長,下面這篇文章主要給大家介紹了關(guān)于Java.lang.Long.parseLong()方法詳解及示例的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 全面了解Java中的內(nèi)部類和匿名類

    全面了解Java中的內(nèi)部類和匿名類

    下面小編就為大家?guī)硪黄媪私釰ava中的內(nèi)部類和匿名類。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • java GUI實現(xiàn)五子棋游戲

    java GUI實現(xiàn)五子棋游戲

    這篇文章主要為大家詳細介紹了java GUI實現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評論

介休市| 永昌县| 福安市| 启东市| 寻甸| 肇州县| 马龙县| 西城区| 九龙城区| 钟祥市| 三亚市| 泸定县| 昆山市| 黑水县| 石首市| 伊金霍洛旗| 广东省| 延庆县| 太仆寺旗| 连江县| 奇台县| 宁阳县| 馆陶县| 望城县| 万源市| 客服| 夹江县| 赫章县| 武冈市| 自治县| 永年县| 年辖:市辖区| 泽普县| 宜春市| 远安县| 阜平县| 固安县| 麻阳| 嫩江县| 桃园县| 万州区|