国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

springboot如何去獲取前端傳遞的參數(shù)的實(shí)現(xiàn)

瀏覽:2日期:2023-05-18 10:34:03

本文主要討論spring-boot如何獲取前端傳過(guò)來(lái)的參數(shù),這些參數(shù)主要有兩大類(lèi),一類(lèi)是URL里的參數(shù),一個(gè)是請(qǐng)求body里的參數(shù)

url里的參數(shù)

通過(guò)url里傳過(guò)來(lái)的參數(shù)一般有三種方式,下面我們來(lái)看一下

路徑參數(shù)

路徑參數(shù)就是說(shuō)在請(qǐng)求路徑里攜帶了幾個(gè)參數(shù),比如有一個(gè)查詢(xún)banner詳情的接口,/v2/banner/123,這里的123就是參數(shù),可以表示banner的ID。

下面我們?cè)O(shè)計(jì)了一個(gè)簡(jiǎn)陋的接口,來(lái)演示路徑參數(shù)的獲取

@RestController@RequestMapping(value = '/v2/banner')public class BannerController { @GetMapping('/{id}') public Integer getBannerDetail(@PathVariable Integer id){ return id; }}

獲取banner詳情完整接口路徑是/v2/banner/{id},這里的id就是路徑參數(shù),在方法的傳參里,用@PathVariable注解標(biāo)明那個(gè)參數(shù)用來(lái)接收請(qǐng)求路徑傳遞過(guò)來(lái)的值,通過(guò)postman發(fā)個(gè)請(qǐng)求看看

springboot如何去獲取前端傳遞的參數(shù)的實(shí)現(xiàn)

這里要注意,接口路由里定義的參數(shù)名要和方法參數(shù)里的定義名字要一樣,如果不一樣需要通過(guò)@PathVariable來(lái)指定**

@GetMapping('/{id}')public Integer getBannerDetail(@PathVariable(name = 'id') Integer id12){ return id12;}

查詢(xún)參數(shù)

查詢(xún)參數(shù)就是請(qǐng)求的url里?號(hào)后面跟的鍵值對(duì),比如/v2/banner?id=123,下面我們重新定義一個(gè)借口,采用查詢(xún)參數(shù)的形式獲取banner詳情

springboot如何去獲取前端傳遞的參數(shù)的實(shí)現(xiàn)

請(qǐng)求url里的查詢(xún)參數(shù)通過(guò)@RequestParam注解可以和方法里的參數(shù)進(jìn)行一一對(duì)應(yīng),比如現(xiàn)在有這么個(gè)url:/v2/banner?id=123&pos=3,那么接口的參數(shù)定義就得是@RequestParam Integer id, @RequestParam Integer pos,請(qǐng)求上面定義的接口看看返回值

springboot如何去獲取前端傳遞的參數(shù)的實(shí)現(xiàn)

路徑參數(shù)和查詢(xún)參數(shù)結(jié)合

路徑參數(shù)和查詢(xún)時(shí)可以同時(shí)使用的,那在定義接口的時(shí)候,同時(shí)使用這兩種注解就行,比如下面的接口

@GetMapping('/{id}')public Map<String, Object> getBannerDetail(@PathVariable Integer id, @RequestParam Integer pos){ Map<String, Object> body = new HashMap<>(); body.put('id', id); body.put('pos', pos); return body;}

請(qǐng)求一下接口

springboot如何去獲取前端傳遞的參數(shù)的實(shí)現(xiàn)

請(qǐng)求body里的參數(shù)

先來(lái)思考一個(gè)問(wèn)題,當(dāng)前端傳遞過(guò)來(lái)一個(gè)json的數(shù)據(jù),我們的方法通過(guò)什么樣的形式能夠接受到參數(shù)呢?

一般來(lái)說(shuō)有兩種形式,Map和自定義對(duì)象,下面我們分別來(lái)介紹一下。

Map

設(shè)計(jì)簡(jiǎn)單的banner創(chuàng)建接口,參數(shù)通過(guò)Map來(lái)接收,創(chuàng)建成功后,添加一個(gè)id,然后將傳遞的數(shù)據(jù)和id一起返回

@PostMapping(value = '/create')public Map<String, Object> createBanner(@RequestBody Map<String, Object> banner){ banner.put('id', 1243); return banner;}

這里@RequestBody的這個(gè)注解來(lái)將body里的參數(shù),轉(zhuǎn)化成一個(gè)map,請(qǐng)求一下接口看看正常不:

springboot如何去獲取前端傳遞的參數(shù)的實(shí)現(xiàn)

上面我們使用的Map,它是一個(gè)接口,在具體接收數(shù)據(jù)的時(shí)候,肯定會(huì)用一個(gè)Map的實(shí)現(xiàn)類(lèi),這就會(huì)設(shè)計(jì)到裝箱拆箱的過(guò)程,那么頻繁的裝箱拆箱會(huì)有一定到的性能損耗,所以這種方式一般并不推薦使用。

自定義對(duì)象Dto

我們將接收請(qǐng)求參數(shù)的對(duì)象稱(chēng)作為數(shù)據(jù)傳輸對(duì)象,一般定義為XXXDto,這里我們定義一個(gè)創(chuàng)建banner時(shí)用來(lái)接收參數(shù)的對(duì)象BannerCreateDto.

public class BannerCreateDto { private String name; private Integer pos; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getPos() { return pos; } public void setPos(Integer pos) { this.pos = pos; }}

在Controller具體使用:

@PostMapping(value = '/create')public Map<String, Object> createBanner(@RequestBody BannerCreateDto dto){ Map<String, Object> res = new HashMap<>(); res.put('id', 10000); res.put('name', dto.getName()); res.put('pos', dto.getPos()); return res;}

用@RequestBody標(biāo)記BannerCreateDto對(duì)象,spring-boot會(huì)自動(dòng)調(diào)用對(duì)象的getter和setter給他賦值。我們請(qǐng)求一下看看:

springboot如何去獲取前端傳遞的參數(shù)的實(shí)現(xiàn)

總結(jié)

以上就是我們對(duì)spring-boot進(jìn)行參數(shù)接收時(shí)處理方式的討論,包括路徑參數(shù)以及查詢(xún)參數(shù),還有body參數(shù)的接收,下篇文章我們將討論一下參數(shù)的校驗(yàn),敬請(qǐng)關(guān)注!!

到此這篇關(guān)于springboot如何去獲取前端傳遞的參數(shù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)springboot 獲取前端傳遞參數(shù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 免费男女视频 | 美女视频黄的免费看网站 | 国产成人精品亚洲777图片 | 一本色道久久综合狠狠躁 | 男女视频在线观看 | 国产性做久久久久久 | 精品国产中文一级毛片在线看 | 亚洲精品一二三区-久久 | 黄色福利小视频 | 国产精品亚欧美一区二区三区 | 国产免费午夜a无码v视频 | 天堂视频免费看 | 欧美日韩精品一区二区三区视频 | 日韩一级欧美一级在线观看 | 性做久久久久久久免费看 | 国产系列 视频二区 | 久久久亚洲国产精品主播 | 精品国产网站 | 一区二区影院 | 亚洲一区二区影视 | 在线免费观看一级毛片 | 草久视频在线观看 | 在线不卡亚洲 | 欧美在线a | videosfree性欧美另类 | 68久久久久欧美精品观看 | 欧美一级一片 | 免费观看日本特色做爰视频在线 | 国产区一区二 | 男女性高爱潮免费的国产 | 欧美高清视频手机在在线 | 一级片免费观看视频 | 亚洲国产日韩欧美一区二区三区 | 成人欧美午夜视频毛片 | 国产视频在线免费观看 | 国产在线不卡午夜精品2021 | 国产精品久久久久久久福利院 | 日韩美女一区二区三区 | 国产99视频免费精品是看6 | 黄色三级理论片 | 神马午夜不卡 |