欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于@RequestBody和@ResponseBody及Stringify()的作用說明

 更新時間:2021年06月08日 09:35:24   作者:linlinlinfeng  
這篇文章主要介紹了基于@RequestBody和@ResponseBody及Stringify()的作用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@RequestBody和@ResponseBody及Stringify()的作用

首先,在項目的前后交互中json數據格式比較常用,普遍認為json格式比較簡單,易于解析

如果我們在前端發(fā)送一個ajax請求的話

可以看到是用json字符串格式向后臺傳請求參數,那么后臺需要采用@RequestBody來處理請求的json格式數據,將json數據轉換為java對象,否則springmvc就不能解析導致傳空參的結果

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

而 @ResponseBody就可以理解成將java的對象轉換成json字符串的格式給前端解析(json數據格式解析比較簡單)

如果加上@ResponseBody注解,就不會走視圖解析器,不會返回頁面,目前返回的json數據。如果不加,就走視圖解析器,返回頁面

現在在開發(fā)項目有喜歡用key/value的格式傳給后臺。此方法比較常用。在ajax的data中寫 ‘name=我&age=12'這個就不用就可以不用加@RequestBody

這里看下項目中請求的格式可以采用qs.stringify()方法將對象或者數組轉換為一個key/value的格式。這個時候后臺接受就可以不用加@RequestBody。

在這里需要注意的是,JSON中同樣存在stringify()方法,但是兩者之間的區(qū)別是很明顯的,json的stringify()是返回json字符串

‘{"uid":"cs11","pwd":"000000als","username":"cs11","password":"000000als"}'

但是qs.stringify()是返回key/vlue的拼接:

uid=cs11&pwd=000000als&username=cs11&password=000000als

總結:

客戶端請求的數據是json字符串,springmvc不能直接解析,加@requestBody解析成對象,客戶端請求的是key/value的拼接不需要加@requestBody,@responseBody返回json字符串,如果是ajax請求,我們想到得到json對象的話(為了方便根據key取value)

在ajax中增加如下:

dataType: "json"   

@RequestBody和@ResponseBody的簡單使用接收JSON(接收json數據)

1、想要使用@RequestBody和@ResponseBody呢必須要使用注解的適配器和映射器,至于為什么應該不用多說。

在springMVC中進行配置:

<!-- 使用注解的映射器和適配器 -->
 <mvc:annotation-driven/>

2、User類中的字段:ID、name、age、address、sex、phone

3、寫一個controller

@RequestMapping("/bodyTest")
 @ResponseBody
 public User testBody(@RequestBody User user){
 return user;
 } 

4、通過火狐瀏覽器的HTTPRequester插件進行測試,那么測試的時候需要注意什么呢?

5、當然了,你應該也注意到上面我的Controller的方法上加了一個@ResponseBody,那么他的作用是什么呢?

在上面的Controller中我返回的是User對象,但是在上圖的右側可以看到返回的值,自動轉換成了JSON格式

{"id":1,"name":"jin","sex":"man","address":"moerben","age":"12","phone":"110"}

6、網上有說@requestBody需要接收的是一個String化的參數,在傳參時可以使用JSONObject.stringiffy(json);這個方法來進行轉化。toString應該也是可以的。這兩種情況尚未 使用暫時不發(fā)表意見,僅提供參考。

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

相關文章

  • Java語言實現非遞歸實現樹的前中后序遍歷總結

    Java語言實現非遞歸實現樹的前中后序遍歷總結

    今天小編就為大家分享一篇關于Java語言實現非遞歸實現樹的前中后序遍歷總結,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • MybatisPlus分頁排序查詢字段帶有下劃線的坑及解決

    MybatisPlus分頁排序查詢字段帶有下劃線的坑及解決

    這篇文章主要介紹了MybatisPlus分頁排序查詢字段帶有下劃線的坑及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • JAVA參數傳遞方式實例淺析【按值傳遞與引用傳遞區(qū)別】

    JAVA參數傳遞方式實例淺析【按值傳遞與引用傳遞區(qū)別】

    這篇文章主要介紹了JAVA參數傳遞方式,結合實例形式分析了java按值傳遞與引用傳遞區(qū)別及相關操作注意事項,需要的朋友可以參考下
    2020-05-05
  • C語言指針數組案例詳解

    C語言指針數組案例詳解

    這篇文章主要介紹了C語言指針數組案例詳解,本文通過案例詳細的解釋了指針與數組的初始化還有關系與應用,需要的朋友可以參考下這篇文章
    2021-07-07
  • SpringCloud組件之Eureka Server詳細啟動過程及說明

    SpringCloud組件之Eureka Server詳細啟動過程及說明

    這篇文章主要介紹了SpringCloud組件之Eureka Server詳細啟動過程及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java中關于二叉樹層序遍歷深入了解

    Java中關于二叉樹層序遍歷深入了解

    二叉樹的層序遍歷是面試經常會被考察的知識點,甚至要求當場寫出實現過程。層序遍歷所要解決的問題很好理解,就是按二叉樹從上到下,從左到右依次打印每個節(jié)點中存儲的數據,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Springboot整合hibernate validator 全局異常處理步驟詳解

    Springboot整合hibernate validator 全局異常處理步驟詳解

    本文分步驟給大家介紹Springboot整合hibernate validator 全局異常處理,補呢文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • 關于feign.codec.DecodeException異常的解決方案

    關于feign.codec.DecodeException異常的解決方案

    這篇文章主要介紹了關于feign.codec.DecodeException異常的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java RSAUtils 加密工具類操作

    java RSAUtils 加密工具類操作

    這篇文章主要介紹了java RSAUtils 加密工具類操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 淺談Java當作數組的幾個應用場景

    淺談Java當作數組的幾個應用場景

    數組可以存放多個同一類型的數據,可以存儲基本數據類型,引用數據類型(對象),下面這篇文章主要給大家介紹了關于Java當作數組的幾個應用場景,需要的朋友可以參考下
    2022-11-11

最新評論