成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開(kāi)發(fā) 前端
@RequestHeader注解用來(lái)加載請(qǐng)求頭中的數(shù)據(jù),一般在業(yè)務(wù)系統(tǒng)中不太使用,但在基礎(chǔ)設(shè)施的建設(shè)中會(huì)比較常用,比如傳遞分布式系統(tǒng)的TraceID等。

使用Spring Boot開(kāi)發(fā)API的時(shí)候,讀取請(qǐng)求參數(shù)是服務(wù)端編碼中最基本的一項(xiàng)操作,Spring Boot中也提供了多種機(jī)制來(lái)滿足不同的API設(shè)計(jì)要求。

接下來(lái),就通過(guò)本文,為大家總結(jié)6種常用的請(qǐng)求參數(shù)讀取方式。如果你發(fā)現(xiàn)自己知道的不到6種,那么趕緊來(lái)查漏補(bǔ)缺一下。如果你知道的不止6種,那么告訴大家,一起互相學(xué)習(xí)一下吧~

#@RequestParam

這是最最最最最最常用的一個(gè)了吧,用來(lái)加載URL中?之后的參數(shù)。

比如:這個(gè)請(qǐng)求/user?name=didispace 就可以如下面這樣,使用@RequestParam來(lái)加載URL中的name參數(shù)

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

#@PathVariable

這是RESTful風(fēng)格API中常用的注解,用來(lái)加載URL路徑中的參數(shù)

比如:這個(gè)請(qǐng)求/user/1 就可以如下面這樣,使用@PathVariable來(lái)加載URL中的id參數(shù)

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

#@MatrixVariable

這個(gè)我們用的并不是很多,但一些國(guó)外系統(tǒng)有提供這類API參數(shù),這種API的參數(shù)通過(guò);分割。

比如:這個(gè)請(qǐng)求/books/reviews;isbn=1234;topN=5; 就可以如下面這樣,使用@MatrixVariable來(lái)加載URL中用;分割的參數(shù)

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

#@RequestBody

這也是最常用的一個(gè)注解,用來(lái)加載POST/PUT請(qǐng)求的復(fù)雜請(qǐng)求體(也叫:payload)。比如,客戶端需要提交一個(gè)復(fù)雜數(shù)據(jù)的時(shí)候,就要將這些數(shù)據(jù)放到請(qǐng)求體中,然后服務(wù)端用@RequestBody來(lái)加載請(qǐng)求體中的數(shù)據(jù)

@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注解用來(lái)加載請(qǐng)求頭中的數(shù)據(jù),一般在業(yè)務(wù)系統(tǒng)中不太使用,但在基礎(chǔ)設(shè)施的建設(shè)中會(huì)比較常用,比如傳遞分布式系統(tǒng)的TraceID等。用法也很簡(jiǎn)單,比如,假設(shè)我們將鑒權(quán)數(shù)據(jù)存在http請(qǐng)求頭中,那么就可以像下面這樣用@RequestHeader來(lái)加載請(qǐng)求頭中的Authorization參數(shù)

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

#@CookieValue

當(dāng)我們需要與客戶端保持有狀態(tài)的交互時(shí),就需要用到Cookie。此時(shí),服務(wù)端讀取Cookie數(shù)據(jù)的時(shí)候,就可以像下面這樣用@CookieValue來(lái)讀取Cookie中的SessionId數(shù)據(jù)

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

好了,今天的分享就到這里。這些方式你都知道嗎?


https://www.didispace.com/article/spring-boot/spring-boot-rest-api-6-ways-to-pass-params.html

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2024-08-30 11:11:01

2024-12-18 16:19:51

2025-02-03 09:00:00

API接口性能

2024-10-12 08:18:21

Spring接口組件

2025-02-27 00:00:30

SpringJava方式

2009-02-11 09:46:00

ASON網(wǎng)絡(luò)演進(jìn)

2017-06-26 10:35:58

前端JavaScript繼承方式

2022-03-23 12:55:50

農(nóng)業(yè)物聯(lián)網(wǎng)

2023-09-06 11:35:11

2019-05-16 13:00:18

異步編程JavaScript回調(diào)函數(shù)

2025-04-29 08:21:30

ANRAndroidUI

2022-12-06 10:39:43

Spring事務(wù)失效

2023-05-10 13:58:13

服務(wù)限流系統(tǒng)

2021-01-08 10:52:22

物聯(lián)網(wǎng)萬(wàn)物互聯(lián)IoT,Interne

2019-07-19 07:33:57

供應(yīng)鏈物聯(lián)網(wǎng)IOT

2020-07-31 11:12:39

安全威脅網(wǎng)絡(luò)攻擊網(wǎng)絡(luò)安全

2022-01-14 10:34:50

黑客隱藏蹤跡網(wǎng)絡(luò)安全

2020-04-27 09:00:00

雙因素認(rèn)證身份認(rèn)證生物識(shí)別

2018-08-03 16:40:06

前端前端框架微服務(wù)

2010-09-13 18:02:46

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲国产网站 | 成人久久久久 | 精国产品一区二区三区四季综 | 欧洲性生活视频 | 91n成人 | 成人性视频免费网站 | 中文一区二区 | www.久草.com| 国产精品国产a | 午夜性视频 | 中文字幕第7页 | 国产欧美一区二区精品久导航 | 成人在线网 | 亚洲综合一区二区三区 | 欧美激情久久久 | 可以免费观看的av片 | 天堂久久久久久久 | 97人人干 | 99精品国产一区二区青青牛奶 | 国产h视频 | 日本a v在线播放 | 三a毛片| 精品视频一区二区三区在线观看 | 久久久久亚洲 | 国产成人免费视频 | 亚洲精品免费看 | 日本中文在线视频 | 狠狠骚 | 韩国av一区二区 | 国产成人福利在线观看 | 精品网站999 | 久久久成人动漫 | 日韩一区二区三区在线看 | 欧美日韩在线国产 | 日本欧美国产在线观看 | aaaa网站| 亚洲欧美一区二区三区国产精品 | 黄色大片视频 | 国产欧美精品一区二区色综合 | 色吊丝2 | 欧美大片在线观看 |