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

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

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

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

首先,在項(xiàng)目的前后交互中json數(shù)據(jù)格式比較常用,普遍認(rèn)為json格式比較簡(jiǎn)單,易于解析

如果我們?cè)谇岸税l(fā)送一個(gè)ajax請(qǐng)求的話

可以看到是用json字符串格式向后臺(tái)傳請(qǐng)求參數(shù),那么后臺(tái)需要采用@RequestBody來(lái)處理請(qǐng)求的json格式數(shù)據(jù),將json數(shù)據(jù)轉(zhuǎn)換為java對(duì)象,否則springmvc就不能解析導(dǎo)致傳空參的結(jié)果

一般在異步獲取數(shù)據(jù)時(shí)使用,在使用@RequestMapping后,返回值通常解析為跳轉(zhuǎn)路徑,加上@responsebody后返回結(jié)果不會(huì)被解析為跳轉(zhuǎn)路徑,而是直接寫入HTTP response body中。

而 @ResponseBody就可以理解成將java的對(duì)象轉(zhuǎn)換成json字符串的格式給前端解析(json數(shù)據(jù)格式解析比較簡(jiǎn)單)

如果加上@ResponseBody注解,就不會(huì)走視圖解析器,不會(huì)返回頁(yè)面,目前返回的json數(shù)據(jù)。如果不加,就走視圖解析器,返回頁(yè)面

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

這里看下項(xiàng)目中請(qǐng)求的格式可以采用qs.stringify()方法將對(duì)象或者數(shù)組轉(zhuǎn)換為一個(gè)key/value的格式。這個(gè)時(shí)候后臺(tái)接受就可以不用加@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

總結(jié):

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

在ajax中增加如下:

dataType: "json"   

@RequestBody和@ResponseBody的簡(jiǎn)單使用接收J(rèn)SON(接收json數(shù)據(jù))

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

在springMVC中進(jìn)行配置:

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

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

3、寫一個(gè)controller

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

4、通過(guò)火狐瀏覽器的HTTPRequester插件進(jìn)行測(cè)試,那么測(cè)試的時(shí)候需要注意什么呢?

5、當(dāng)然了,你應(yīng)該也注意到上面我的Controller的方法上加了一個(gè)@ResponseBody,那么他的作用是什么呢?

在上面的Controller中我返回的是User對(duì)象,但是在上圖的右側(cè)可以看到返回的值,自動(dòng)轉(zhuǎn)換成了JSON格式

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

6、網(wǎng)上有說(shuō)@requestBody需要接收的是一個(gè)String化的參數(shù),在傳參時(shí)可以使用JSONObject.stringiffy(json);這個(gè)方法來(lái)進(jìn)行轉(zhuǎn)化。toString應(yīng)該也是可以的。這兩種情況尚未 使用暫時(shí)不發(fā)表意見(jiàn),僅提供參考。

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

相關(guān)文章

  • 淺談Java中@Autowired和@Inject注解的區(qū)別和使用場(chǎng)景

    淺談Java中@Autowired和@Inject注解的區(qū)別和使用場(chǎng)景

    本文主要介紹了淺談Java中@Autowired和@Inject注解的區(qū)別和使用場(chǎng)景,@Autowired注解在依賴查找方式和注入方式上更加靈活,適用于Spring框架中的依賴注入,而@Inject注解在依賴查找方式上更加嚴(yán)格,適用于Java的依賴注入標(biāo)準(zhǔn),感興趣的可以了解一下
    2023-11-11
  • swing中Tree與滾動(dòng)條用法實(shí)例分析

    swing中Tree與滾動(dòng)條用法實(shí)例分析

    這篇文章主要介紹了swing中Tree與滾動(dòng)條用法,以實(shí)例形式分析了java基于swing實(shí)現(xiàn)圖形界面的使用技巧,需要的朋友可以參考下
    2015-09-09
  • Java使用正則表達(dá)式刪除所有HTML標(biāo)簽的方法示例

    Java使用正則表達(dá)式刪除所有HTML標(biāo)簽的方法示例

    這篇文章主要介紹了Java使用正則表達(dá)式刪除所有HTML標(biāo)簽的方法,結(jié)合完整實(shí)例形式分析了java針對(duì)HTML頁(yè)面元素script標(biāo)簽、style標(biāo)簽、html標(biāo)簽等的正則匹配相關(guān)操作技巧,需要的朋友可以參考下
    2017-06-06
  • lombok @Accessors用法詳解

    lombok @Accessors用法詳解

    這篇文章主要介紹了lombok @Accessors用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java防鎖屏小程序代碼實(shí)例

    Java防鎖屏小程序代碼實(shí)例

    這篇文章主要介紹了Java防鎖屏小程序代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java8通過(guò)CompletableFuture實(shí)現(xiàn)異步回調(diào)

    Java8通過(guò)CompletableFuture實(shí)現(xiàn)異步回調(diào)

    這篇文章主要介紹了Java8通過(guò)CompletableFuture實(shí)現(xiàn)異步回調(diào),CompletableFuture是Java?8?中新增的一個(gè)類,它是對(duì)Future接口的擴(kuò)展,下文關(guān)于其更多相關(guān)詳細(xì)介紹需要的小伙伴可以參考一下
    2022-04-04
  • 淺析Java的Hibernate框架中的緩存和延遲加載機(jī)制

    淺析Java的Hibernate框架中的緩存和延遲加載機(jī)制

    這篇文章主要介紹了Java的Hibernate框架中的緩存和延遲加載機(jī)制,Hibernate是注明的Java下SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下
    2015-11-11
  • Spring MVC請(qǐng)求參數(shù)的獲取教程指南

    Spring MVC請(qǐng)求參數(shù)的獲取教程指南

    本文介紹了SpringMVC中如何獲取各種類型的請(qǐng)求參數(shù),包括基本類型、POJO、數(shù)組、集合以及RESTful風(fēng)格的參數(shù),還討論了請(qǐng)求參數(shù)中文亂碼的解決方案,參數(shù)綁定的注解如@RequestParam,以及自定義類型轉(zhuǎn)換器的實(shí)現(xiàn),需要的朋友可以參考下
    2024-10-10
  • Springboot mybatis-plus配置及用法詳解

    Springboot mybatis-plus配置及用法詳解

    這篇文章主要介紹了Springboot mybatis-plus配置及用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java CAS機(jī)制的一些理解

    Java CAS機(jī)制的一些理解

    這篇文章主要介紹了Java CAS機(jī)制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-05-05

最新評(píng)論

南通市| 南开区| 胶南市| 青龙| 尼玛县| 汝阳县| 衢州市| 思南县| 文安县| 永善县| 禹州市| 武川县| 湛江市| 葵青区| 乌恰县| 凤翔县| 北川| 吉林市| 广灵县| 乌兰浩特市| 香港 | 金昌市| 奉贤区| 邵武市| 建宁县| 太和县| 汪清县| 吴川市| 宜都市| 威远县| 商水县| 揭阳市| 大理市| 浏阳市| 通化市| 青河县| 健康| 平武县| 泗洪县| 丰原市| 永仁县|