SpringBoot Controller介面接收資料(二)(適合萌新)
前面我們一起探討了,怎麼去解讀不同小姐姐發給我們的情書哈。當然那些小姐姐都是比較好懂的。俗話說的好,女人心海底針。所以呀,兄弟們!我們早如何撩小姐姐的這條路上還是要繼續努力的。今天的小姐姐和前面的不一樣。她們送的東西比較多。而且不同的小姐姐對禮物還進行了包裝。
今天這裡呢先講最常見的兩種種包裝方式:json和form-data
一、json格式資料接收
好了廢話不多說,請上我們今天的第一個小姐姐。
這個小姐姐,使用了json的方式來包裝禮物。至於怎麼包裝的,各位。。你們去問小姐姐去哈。我這邊只教你怎麼拆。對於用json進行包裝禮物的小姐姐呢,她有點強迫症。也不能這麼說,反正呀,她給你準備禮物呢,都會提前去問你喜不喜歡,讓你呢挑選一下。這樣出現個什麼情況呢,就是你對於小姐姐要送你什麼禮物你其實是心裡有數的。
回到程式碼上。也就是說,接受json 資料,你需要按照資料的引數情況呢,新建一個實體類。比如這裡我們就把這個實體類命名為Gift。程式碼內容如下:
public class Gift {
private String qingshu;
private String liwu1;
private String liwu2;
public int getQingshu() {
return this.qingshu;
}
public void setQingshu(int qingshu) {
this.qingshu = qingshu;
}
public String getLiwu1() {
return this.liwu1;
}
public void setLiwu1(String liwu1) {
this.liwu1 = liwu1;
}
public String getLiwu2() {
return this.liwu2;
}
public void setLiwu2(String liwu2) {
this.liwu2 = liwu2;
}
}
哦,這裡說明下我這邊用的是springboot+mybatis+xml的構架來展示的。至於這方面,大家自己參考別的文件或者教程哈,還是有很多的。
這邊強調的就是需要新建一個實體類,這樣才能接受json資料。那怎麼接受,看下面程式碼:
@PostMapping(path = "/jack")
public void demo1(@RequestBody Gift gift) {
System.out.println(gift.toString());
}
這裡我們使用到了**@RequestBody**這個註解。他意思就是接受小姐姐包裝好的禮物。不過再強調一下,需要接收哪些東西我們需要心中有數。
然後如果你想拿出禮物的一部分,比如裡面的liwu1。那程式碼只需要如下增加:
@PostMapping(path = "/jack")
public void demo1(@RequestBody Gift gift) {
System.out.println(gift.liwu1.toString());
}
接收結果是:
qingshu:ILOVEYOU;liwu1:手機;liwu2:電腦
我覺得這個還是很好理解的。json目前是用於簡單資料傳輸最普遍的方式。我們後端程式碼返回給前端的一般也都是使用json格式資料。
好啦,第一個小姐姐,坦白直接型別的。已經介紹完了。不知道你喜不喜歡呢,反正我是喜歡。
二、form-data格式資料接收
接下來是第二種型別的小姐姐。這個小姐姐呢,屬於浪漫主義。她送禮,你不需要提前去知道里面是啥,當然你可以知道。也可以選擇不去知道。程式碼方面說,就是如果不是其他功能的需要,僅做接收form-data資料的事的話,我們不需要去構造相對應的實體類的。我們先看看小姐姐包裝的禮物。
至於接收也不難。分兩種形式。第一種,如果你對於小姐姐要送的東西一清二楚的話,我意思有對應實體類的話,如下:
@PostMapping(path = "/jack")
public void demo2(Gfit gfit) {
System.out.println(gfit.toString());
}
接收結果依然是:
qingshu:ILOVEYOU;liwu1:手機;liwu2:電腦
這邊更有意思的是,如果你本以為,小姐姐只送了一個禮物。你也只收了一個禮物,這樣也是行的通的。比如下方程式碼:
@PostMapping(path = "/jack")
public void demo2(String liwu1) {
System.out.println(liwu1);
}
這時候的結果就只有:
手機
這是不是挺有意思的。並且更強大的是。這個小姐姐還能滿足你的慾望。比如目前說好的只有qingshu+liwu1+liwu2。但你覺得這些你都覺得還行吧,但你最想要是的小姐姐的寫真照片。於是你就提出了這個要求沒如下
@PostMapping(path = "/jack")
public void demo2(Gift gift ,String liwu3 ) {
System.out.println(gift.toString());
System.out.println(liwu3);
}
這情況會咋樣呢。要是小姐姐沒同意,那liwu3就是空的。如果她同意了。那就能收到資料。是不是覺得這個小姐姐也不錯。
。。。
json和form-data兩種型別資料的接收就介紹到這。後面其他資料型別的接收。有空我慢慢補上。大哥們!!!求一鍵三連呀。一起進步!!!沖沖衝。
相關文章
- 教學|ZBrush繪製頭部模型,適合萌新食用的新手教程ZBrush模型
- 萌新向Python資料分析及資料探勘 前言Python
- SpringBoot資料訪問(二) SpringBoot整合JPASpring Boot
- SpringBoot(三)_controller的使用Spring BootController
- springboot 結合jackson資料脫敏Spring Boot
- 給萌新HTML5 入門指南(二)HTML
- 河南萌新聯賽2024第(二)場 (CDEG)
- 萌新“老二次元”騰訊二次元
- springboot接收Date型別資料異常與解決辦法Spring Boot型別
- SpringBoot介面 - 如何優雅的寫Controller並統一異常處理?Spring BootController
- springboot使controller非同步呼叫Spring BootController非同步
- 如何選擇合適的NoSQL資料庫SQL資料庫
- Qml接收QList<QVariantMap> 資料
- 給前端返回資料全部轉字串合適嗎?前端字串
- springboot請求controller返回Whitelabel Error PageSpring BootControllerError
- 萌新 redux 入門Redux
- 萌新賽 sprintf漏洞
- SpringBoot實戰:輕鬆實現介面資料脫敏Spring Boot
- spring-boot-route(一)Controller接收引數的幾種方式SpringbootController
- 記憶體資料庫適合多大規模的資料集?UY記憶體資料庫
- 如何使用 jq 接收 blob 資料
- 河南萌新聯賽2024第(二)場:南陽理工學院
- 適合時間序列資料的計算指令碼指令碼
- Springboot 多資料來源配置,結合tk-mybatisSpring BootMyBatis
- SpringBoot入門教程(十七)@Service、@Controller、@Repository、@ComponentSpring BootController
- SpringBoot在controller返回一個HTML頁面Spring BootControllerHTML
- Jacoco 的萌新問題
- 如何選擇一款合適的圖資料庫?資料庫
- 用友BI組合太適配了,資料分析效果驚人
- Java、Python以及大資料哪個適合0基礎?JavaPython大資料
- HDF5資料格式不適合深度學習 - KDnuggets深度學習
- 國產資料庫適合搞國家標準嗎資料庫
- 根據開源資料庫選擇合適的工具資料庫
- QT串列埠助手(三):資料接收QT串列埠
- 資料倉儲、資料集市、資料湖,你的企業更適合哪種資料管理架構?架構
- MapReduce中對大資料處理最合適的資料格式是什麼?大資料
- 如何選擇合適的SSD介面?SSD固態硬碟介面型別詳解硬碟型別
- Springboot使用ResponseBodyAdvice進行統一返回介面資料格式的使用Spring Boot