<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
基礎知識介紹:
@RequestBody主要用來接收前端傳遞給後端的json字串中的資料的(請求體中的資料的);而最常用的使用請求體傳參的無疑是POST請求了,所以使用@RequestBody接收資料時,一般都用POST方式進行提交。在後端的同一個接收方法裡,@RequestBody與@RequestParam()可以同時使用,@RequestBody最多隻能有一個,而@RequestParam()可以有多個。
注:一個請求,只有一個RequestBody;一個請求,可以有多個RequestParam。
注:當同時使用@RequestParam()和@RequestBody時,@RequestParam()指定的引數可以是普通元素、
陣列、集合、物件等等(即:當,@RequestBody 與@RequestParam()可以同時使用時,原SpringMVC接收
引數的機制不變,只不過RequestBody 接收的是請求體裡面的資料;而RequestParam接收的是key-value
裡面的引數,所以它會被切面進行處理從而可以用普通元素、陣列、集合、物件等接收)。
即:如果引數時放在請求體中,application/json傳入後臺的話,那麼後臺要用@RequestBody才能接收到;
如果不是放在請求體中的話,那麼後臺接收前臺傳過來的引數時,要用@RequestParam來接收,或
則形參前 什麼也不寫也能接收。
注:如果引數前寫了@RequestParam(xxx),那麼前端必須有對應的xxx名字才行(不管其是否有值,當然可以通
過設定該註解的required屬性來調節是否必須傳),如果沒有xxx名的話,那麼請求會出錯,報400。
注:如果引數前不寫@RequestParam(xxx)的話,那麼就前端可以有可以沒有對應的xxx名字才行,如果有xxx名
的話,那麼就會自動匹配;沒有的話,請求也能正確傳送。
追注:這裡與feign消費服務時不同;feign消費服務時,如果引數前什麼也不寫,那麼會被預設是
@RequestBody的。
下面介紹下@RequestBody的使用
@RequestBody是用來接收前端傳到後端的json字串的資料請求。
1.@RequestBody直接以String接收前端傳過來的json資料:
2.@RequestBody以簡單物件接收前端傳過來的json資料:
3.@RequestBody以複雜物件接收前端傳過來的json資料:
物件中含有陣列或者集合,@RequestBody以複雜物件接收前端傳過來的json資料。
public CommonResult<?> init(@Valid @RequestBody InitRequest requestPayload) { // JSON to DTO InitRequestDto initDto = initRequestMapper.JsonToDtoMapper(requestPayload); Map<String, Object> resultList = new HashMap<>(); resultList.put(Constants.PREVIEW_DATA_LIST, List); resultList.put(Constants.CHANGED_BODY, Body); return CommonResult.success(resultList);
@Getter @Setter @ToString public class InitRequestDto { // 検索條件名 // - protected String searchCriteriaName; // 検索條件 // - protected String searchCriteria; protected List<MessageUtilMcbMessagesDetailDto> messageUtilMcbMessagesDetailDtoList; }
@RestController是組合註解返回json序列化。
@ConfigurationProperties 和 @Value 的區別:
@Configuration 的作用:Configuration用於定義設定類,可替換xml組態檔 , 將組態檔中的自定義屬性批次注入到某個Bean中,
@ConfigurationProperties(prefix = "person") @Data public class Person { private int id; private String name; private List hobby; private String[] members; private Pet pet; }
@Value 的作用:實現自定義屬性的單個注入
@Component public class Student { @Value("${person.id}") private int id; @Value("${person.name}") private String name; private List hobby; }
@GetMapping和@RequestMapping的區別:
區別如下:
@GetMapping用於將HTTP get請求對映到特定處理程式的方法註解
具體來說,@GetMapping是一個組合註解,是@RequestMapping(method = RequestMethod.GET)的縮寫。
@PostMapping用於將HTTP post請求對映到特定處理程式的方法註解
具體來說,@PostMapping是一個組合註解,是@RequestMapping(method = RequestMethod.POST)的縮寫
@RequestMapping(method = RequestMethod.POST)
到此這篇關於@RequestBody的使用的文章就介紹到這了,更多相關@RequestBody的使用內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45