日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Spring Boot中的六種API請求參數(shù)讀取方式

來源: 責(zé)編: 時間:2024-05-30 09:08:04 165觀看
導(dǎo)讀使用Spring Boot開發(fā)API的時候,讀取請求參數(shù)是服務(wù)端編碼中最基本的一項(xiàng)操作,Spring Boot中也提供了多種機(jī)制來滿足不同的API設(shè)計要求。接下來,就通過本文,為大家總結(jié)6種常用的請求參數(shù)讀取方式。如果你發(fā)現(xiàn)自己知道的不

使用Spring Boot開發(fā)API的時候,讀取請求參數(shù)是服務(wù)端編碼中最基本的一項(xiàng)操作,Spring Boot中也提供了多種機(jī)制來滿足不同的API設(shè)計要求。hGO28資訊網(wǎng)——每日最新資訊28at.com

接下來,就通過本文,為大家總結(jié)6種常用的請求參數(shù)讀取方式。如果你發(fā)現(xiàn)自己知道的不到6種,那么趕緊來查漏補(bǔ)缺一下。如果你知道的不止6種,那么告訴大家,一起互相學(xué)習(xí)一下吧~hGO28資訊網(wǎng)——每日最新資訊28at.com

#@RequestParam

這是最最最最最最常用的一個了吧,用來加載URL中?之后的參數(shù)。hGO28資訊網(wǎng)——每日最新資訊28at.com

比如:這個請求/user?name=didispace 就可以如下面這樣,使用@RequestParam來加載URL中的name參數(shù)hGO28資訊網(wǎng)——每日最新資訊28at.com

@GetMapping("/user")@ResponseBody()public User findUserByName(@RequestParam("name") String name){     return userRepo.findByName(name);}

#@PathVariable

這是RESTful風(fēng)格API中常用的注解,用來加載URL路徑中的參數(shù)hGO28資訊網(wǎng)——每日最新資訊28at.com

比如:這個請求/user/1 就可以如下面這樣,使用@PathVariable來加載URL中的id參數(shù)hGO28資訊網(wǎng)——每日最新資訊28at.com

@GetMapping("/user/{id}")@ResponseBody()public User findUserById(@PathVariable("id") String id){     return userRepo.findById(id);}

#@MatrixVariable

這個我們用的并不是很多,但一些國外系統(tǒng)有提供這類API參數(shù),這種API的參數(shù)通過;分割。hGO28資訊網(wǎng)——每日最新資訊28at.com

比如:這個請求/books/reviews;isbn=1234;topN=5; 就可以如下面這樣,使用@MatrixVariable來加載URL中用;分割的參數(shù)hGO28資訊網(wǎng)——每日最新資訊28at.com

@GetMapping("/books/reviews")@ResponseBody()public List<BookReview> getBookReviews(   @MatrixVariable String isbn,  @MatrixVariable Integer topN) {  return bookReviewsLogic.getTopNReviewsByIsbn(isbn, topN);}

#@RequestBody

這也是最常用的一個注解,用來加載POST/PUT請求的復(fù)雜請求體(也叫:payload)。比如,客戶端需要提交一個復(fù)雜數(shù)據(jù)的時候,就要將這些數(shù)據(jù)放到請求體中,然后服務(wù)端用@RequestBody來加載請求體中的數(shù)據(jù)hGO28資訊網(wǎng)——每日最新資訊28at.com

@PostMapping("/add")public boolean addAccounts(@RequestBody List<Account> accounts) throws SQLException {     accounts.stream().forEach(a -> {         a.setCreatedOn(Timestamp.from(Instant.now()));         a.setLastLogin(Timestamp.from(Instant.now()));     });     return notificationLogic.addAccounts(accounts);}

#@RequestHeader

@RequestHeader注解用來加載請求頭中的數(shù)據(jù),一般在業(yè)務(wù)系統(tǒng)中不太使用,但在基礎(chǔ)設(shè)施的建設(shè)中會比較常用,比如傳遞分布式系統(tǒng)的TraceID等。用法也很簡單,比如,假設(shè)我們將鑒權(quán)數(shù)據(jù)存在http請求頭中,那么就可以像下面這樣用@RequestHeader來加載請求頭中的Authorization參數(shù)hGO28資訊網(wǎng)——每日最新資訊28at.com

@GetMapping("/user")@ResponseBody()public List<User> getUserList(@RequestHeader("Authorization") String authToken) {     return userRepo.findAll();}

#@CookieValue

當(dāng)我們需要與客戶端保持有狀態(tài)的交互時,就需要用到Cookie。此時,服務(wù)端讀取Cookie數(shù)據(jù)的時候,就可以像下面這樣用@CookieValue來讀取Cookie中的SessionId數(shù)據(jù)hGO28資訊網(wǎng)——每日最新資訊28at.com

@GetMapping("/user")@ResponseBody()public List<User> getUserList(@CookieValue(name = "SessionId") String sessionId) {     return userRepo.findAll();}

好了,今天的分享就到這里。這些方式你都知道嗎?hGO28資訊網(wǎng)——每日最新資訊28at.com


https://www.didispace.com/article/spring-boot/spring-boot-rest-api-6-ways-to-pass-params.htmlhGO28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-91681-0.htmlSpring Boot中的六種API請求參數(shù)讀取方式

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 世界第二硬實(shí)力:海信助力 2024 歐洲杯裁判精準(zhǔn)判罰

下一篇: ViewPager頁面滑動效果,自定義PageTransformer實(shí)現(xiàn)想要的變換效果

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 广德县| 富蕴县| 廊坊市| 乐东| 绥宁县| 达日县| 大港区| 通江县| 天门市| 和顺县| 旬阳县| 开封市| 手游| 台前县| 灵武市| 东乌| 遂川县| 富宁县| 罗定市| 中宁县| 贵州省| 和田市| 武安市| 闽侯县| 马公市| 巴楚县| 申扎县| 武汉市| 饶平县| 封开县| 芦山县| 东丰县| 北宁市| 游戏| 五家渠市| 新安县| 吴川市| 剑河县| 吉安县| 台湾省| 辉县市|