欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的6種請(qǐng)求方式的示例詳解

 更新時(shí)間:2024年07月19日 09:23:36   作者:碼農(nóng)研究僧  
這篇文章主要詳細(xì)介紹了Java中的6種請(qǐng)求方式,@RequestParam、@PathVariable、@MatrixVariable、@RequestBody、@RequestHeader和@CookieValue的基本知識(shí)、詳細(xì)分析以及示例,需要的朋友可以參考下

主要圍繞如下請(qǐng)求方式:

@RequestParam、@PathVariable、@MatrixVariable、@RequestBody、@RequestHeader和@CookieValue的基本知識(shí)、詳細(xì)分析以及示例

1. @RequestParam

用于綁定HTTP請(qǐng)求參數(shù)到控制器方法的參數(shù)上,常用于處理表單數(shù)據(jù)或查詢參數(shù)

@GetMapping("/greeting")
public String greeting(@RequestParam(name="name", required=false, defaultValue="World") String name) {
    return "Hello, " + name;
}

基本的屬性如下:

  • value 或 name: 參數(shù)名
  • required: 是否為必需參數(shù),默認(rèn)為true
  • defaultValue: 參數(shù)的默認(rèn)值

具體調(diào)用兩種方式:

  • /greeting?name=John,輸出Hello, John
  • /greeting,輸出默認(rèn)值 Hello, World

2. @PathVariable

用于綁定URL中的模板變量到控制器方法的參數(shù)上,常用于RESTful風(fēng)格的URL路徑中

@GetMapping("/users/{id}")
public User getUser(@PathVariable("id") Long id) {
    return userService.findById(id);
}

基本的屬性如下:

  • value 或 name: 路徑變量名。
  • required: 是否為必需參數(shù),默認(rèn)為true

請(qǐng)求方式: /users/1,用戶ID為1的用戶對(duì)象

3. @MatrixVariable

用于綁定URL路徑中的矩陣變量到控制器方法的參數(shù)上,需要在Spring MVC中啟用矩陣變量支持
常與路徑變量結(jié)合使用

@GetMapping("/owners/{ownerId}/pets/{petId}")
public Pet findPet(@PathVariable String ownerId, 
                   @MatrixVariable(name="q", pathVar="petId") int query) {
    // 處理代碼
}

基本的屬性如下:

  • value 或 name: 矩陣變量名
  • pathVar: 矩陣變量所屬的路徑變量名

具體調(diào)用方式如下:
/owners/42/pets/21;q=123,提取: ownerId 為42, petId 為21, q 為123

4. @RequestBody

用于將HTTP請(qǐng)求體的內(nèi)容綁定到控制器方法的參數(shù)上,常用于處理JSON、XML等格式的請(qǐng)求數(shù)據(jù)

@PostMapping("/users")
public User createUser(@RequestBody User user) {
    return userService.save(user);
}
  • required: 是否為必需參數(shù),默認(rèn)為true

具體調(diào)用方式如下:

HTTP POST請(qǐng)求,內(nèi)容: {“name”: “John”, “age”: 30}
返回: 創(chuàng)建的用戶對(duì)象

5. @RequestHeader

用于綁定HTTP請(qǐng)求頭到控制器方法的參數(shù)上

@GetMapping("/header")
public String getHeader(@RequestHeader("User-Agent") String userAgent) {
    return "User-Agent: " + userAgent;
}
  • value 或 name: 請(qǐng)求頭名
  • required: 是否為必需參數(shù),默認(rèn)為true
  • defaultValue: 參數(shù)的默認(rèn)值

具體調(diào)用方式如下:

設(shè)置請(qǐng)求頭User-Agent
返回: 用戶代理信息

6. @CookieValue

用于綁定HTTP請(qǐng)求的Cookie值到控制器方法的參數(shù)上

@GetMapping("/cookie")
public String getCookie(@CookieValue(value = "sessionId", defaultValue = "defaultSessionId") String sessionId) {
    return "Session ID: " + sessionId;
}

具體的屬性如下:

  • value 或 name: Cookie名
  • required: 是否為必需參數(shù),默認(rèn)為true
  • defaultValue: 參數(shù)的默認(rèn)值

具體調(diào)用方式如下:

設(shè)置Cookie sessionId
返回: 會(huì)話ID信息

7. 總結(jié)

注解作用屬性示例調(diào)用
@RequestParam綁定HTTP請(qǐng)求參數(shù)到控制器方法的參數(shù)上value, required, defaultValue/greeting?name=John
@PathVariable綁定URL中的模板變量到控制器方法的參數(shù)上value, required/users/1
@MatrixVariable綁定URL路徑中的矩陣變量到控制器方法的參數(shù)上value, pathVar/owners/42/pets/21;q=123
@RequestBody將HTTP請(qǐng)求體的內(nèi)容綁定到控制器方法的參數(shù)上requiredHTTP POST 請(qǐng)求,內(nèi)容: {“name”: “John”}
@RequestHeader綁定HTTP請(qǐng)求頭到控制器方法的參數(shù)上value, required, defaultValue設(shè)置請(qǐng)求頭User-Agent
@CookieValue綁定HTTP請(qǐng)求的Cookie值到控制器方法的參數(shù)上value, required, defaultValue設(shè)置Cookie sessionId

以上就是Java中的6種請(qǐng)求方式的示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Java請(qǐng)求方式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java基礎(chǔ)之關(guān)鍵字final詳解

    Java基礎(chǔ)之關(guān)鍵字final詳解

    這篇文章主要介紹了Java基礎(chǔ)之關(guān)鍵字final詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot使用PropertiesLauncher加載外部jar包

    SpringBoot使用PropertiesLauncher加載外部jar包

    這篇文章主要介紹了SpringBoot使用PropertiesLauncher加載外部jar包,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • Mybatis批處理、Mysql深分頁(yè)操作

    Mybatis批處理、Mysql深分頁(yè)操作

    這篇文章主要介紹了Mybatis批處理、Mysql深分頁(yè)操作,Mybatis批量操作包括Foreach方式和ExecutorType.BATCH插入操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • AQS核心流程解析cancelAcquire方法

    AQS核心流程解析cancelAcquire方法

    可以清楚的看到在互斥鎖和共享鎖的拿鎖過(guò)程中都是有調(diào)用此方法的,而cancelAcquire()方法是寫在finally代碼塊中,并且使用failed標(biāo)志位來(lái)控制cancelAcquire()方法的執(zhí)行
    2023-04-04
  • Mybatis?Lombok使用方法與復(fù)雜查詢介紹

    Mybatis?Lombok使用方法與復(fù)雜查詢介紹

    Lombok是一種Java實(shí)用工具,可用來(lái)幫助開(kāi)發(fā)人員消除Java的冗長(zhǎng),尤其是對(duì)于簡(jiǎn)單的Java對(duì)象(POJO),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-10-10
  • springboot循環(huán)依賴問(wèn)題案例代碼及解決辦法

    springboot循環(huán)依賴問(wèn)題案例代碼及解決辦法

    在 Spring Boot 中,如果兩個(gè)或多個(gè) Bean之間存在循環(huán)依賴(即 Bean A 依賴 Bean B,而 Bean B 又依賴 Bean A),會(huì)導(dǎo)致 Spring 的依賴注入機(jī)制無(wú)法正確處理,從而拋出異常,下面給大家介紹springboot循環(huán)依賴問(wèn)題及其解決辦法,感興趣的朋友一起看看吧
    2025-04-04
  • MyBatisPlus查詢報(bào)錯(cuò)Unknow?column?‘id‘?in?‘field?list‘解決分析

    MyBatisPlus查詢報(bào)錯(cuò)Unknow?column?‘id‘?in?‘field?list‘解決分析

    這篇文章主要為大家介紹了MyBatisPlus查詢報(bào)錯(cuò)Unknow?column?‘id‘?in?‘field?list‘解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java基礎(chǔ)之static的用法

    Java基礎(chǔ)之static的用法

    這篇文章主要介紹了Java基礎(chǔ)之static的用法,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-05-05
  • 關(guān)于idea中出現(xiàn)nbsp和zwsp的完美解決辦法

    關(guān)于idea中出現(xiàn)nbsp和zwsp的完美解決辦法

    本文給大家介紹關(guān)于idea中出現(xiàn)nbsp和zwsp的解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2022-06-06
  • Spring Kafka中@KafkaListener注解的參數(shù)與使用小結(jié)

    Spring Kafka中@KafkaListener注解的參數(shù)與使用小結(jié)

    @KafkaListener注解為開(kāi)發(fā)者提供了一種聲明式的方式來(lái)定義消息監(jiān)聽(tīng)器,本文主要介紹了Spring Kafka中@KafkaListener注解的參數(shù)與使用小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06

最新評(píng)論