最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文盤點(diǎn)Spring MVC中用于處理HTTP請(qǐng)求的常用注解

 更新時(shí)間:2026年03月11日 08:50:34   作者:Lyyaoo.  
這篇文章主要為大家詳細(xì)介紹了Spring MVC中用于處理HTTP請(qǐng)求的常用注解,包括@RequestMapping,@RequestController,@RequestParam等,希望對(duì)大家有所幫助

1.@RequestMapping

 @RequestMapping?來(lái)注冊(cè)接?的路由映射,可以作用在類上,也可以作用在方法上,當(dāng)標(biāo)識(shí)?個(gè)類,設(shè)置映射請(qǐng)求的請(qǐng)求路徑的初始信息,當(dāng)標(biāo)識(shí)?個(gè)?法,設(shè)置映射請(qǐng)求請(qǐng)求路徑的具體信息。下面的代碼表?服務(wù)收到請(qǐng)求時(shí), 路徑為 /hello 的請(qǐng)求就會(huì)調(diào)? hello 這個(gè)?法的代碼.

@RestController
public class UserController {
// 路由器規(guī)則注冊(cè)
@RequestMapping("/hello")
	public String hello(){
		return "hello,Spring boot";
	}
}

 @RequestMapping ?持 get 請(qǐng)求和 post 請(qǐng)求 ,可以通過(guò) method 進(jìn)行指定,

@RestController
public class UserController {
// 路由器規(guī)則注冊(cè)
@RequestMapping(value = "/hello",method= RequestMethod.POST)
	public String hello(){
		return "hello,Spring boot";
	}
}

2.@RequestController

 @RequestController是 Spring 中用來(lái)標(biāo)記控制器類的注解,標(biāo)注的類下的所有方法返回的數(shù)據(jù)直接寫入HTTP響應(yīng)體中,如下例子當(dāng)瀏覽器訪問(wèn) /hello 時(shí),頁(yè)面直接顯示字符串Hello World,當(dāng)訪問(wèn) /user 時(shí),Spring 會(huì)自動(dòng)把 User 對(duì)象轉(zhuǎn)換成 JSON 返回{“name”:“張三”,“age”:25}

@RestController
public class TestController {

    @RequestMapping("/hello")
    public String hello() {
        return "Hello World";
    }

    @RequestMapping("/user")
    public User getUser() {
        User user = new User("張三", 25);
        return user;  // 返回一個(gè) Java 對(duì)象
    }
}

3.@RequestParam

 有時(shí)候,前端傳遞的參數(shù) key 和我們后端接收的 key 可以不?致,?如前端傳遞了?個(gè) time 給后端,?后端是使? createtime 字段來(lái)接收的。此時(shí)可以通過(guò)@RequestParam來(lái)重命名前后端的參數(shù)值。

 例如,前端發(fā)來(lái)請(qǐng)求 GET /user?id=123,此時(shí)會(huì)從請(qǐng)求中找名為 id 的參數(shù),把值賦給后面的 int userId 參數(shù)。

@RestController
public class UserController {
    @RequestMapping("/user")
    public String getUser(@RequestParam("id") int userId) {
        return "用戶ID是:" + userId;
    }
}

使? @RequestParam 進(jìn)?參數(shù)重命名時(shí), 參數(shù)就變成了必傳參數(shù),可以通過(guò)設(shè)置 @RequestParam 中的 required=false 來(lái)設(shè)置成非必傳

@RequestParam(value = "name", required = false) String userName

 @RequestParam可以用來(lái)傳遞集合,默認(rèn)情況下,請(qǐng)求中參數(shù)名相同的多個(gè)值,是封裝到數(shù)組. 如果要封裝到集合,要使?@RequestParam 綁定參數(shù)關(guān)系。

@RequestMapping("/test")
public String method6(@RequestParam List<String> listParam){
	return "size:"+listParam.size() + ",listParam:"+listParam;
}

4.@RequestBody

 @RequestBody是將 HTTP 請(qǐng)求體(Body)中的數(shù)據(jù)綁定到控制器方法參數(shù)的注解,當(dāng)前端通過(guò) POST、PUT 等請(qǐng)求發(fā)送一段 JSON(或 XML)數(shù)據(jù)時(shí),@RequestBody 能幫你把這段數(shù)據(jù)自動(dòng)轉(zhuǎn)換成一個(gè) Java 對(duì)象,方便后續(xù)的使用

{
    "name": "張三",
    "age": 25
}
@PostMapping("/user")
public String createUser(@RequestBody User user) {
    System.out.println(user.getName()); // 輸出 "張三"
    return "success";
}

5.@PathVariable

 @PathVariable用來(lái)獲取 URL 路徑中的變量值的注解,例如使用瀏覽器發(fā)送請(qǐng)求 http://127.0.0.1:8080/param/m8/5/zhangsan,最終獲取到 id 為 5 ,userName 為 zhangsan

@RequestMapping("/m8/{id}/{name}")
public String method8(@PathVariable Integer id, @PathVariable("name") String 
userName){
	return "解析參數(shù)id:"+id+",name:"+userName;
}

 同樣可以進(jìn)行重命名操作,下面的例子表示獲取 @GetMapping(“/users/{id}”) 中 id 的值

@RestController
public class UserController {
    @GetMapping("/users/{id}")
    public String getUser(@PathVariable("id") int userId) {
        return "用戶ID:" + userId;
    }
}

6.@RequestPart

 @RequestPart 用于處理 multipart/form-data 請(qǐng)求的注解。它可以把 multipart 請(qǐng)求中的某個(gè)特定部分(part)綁定到控制器方法的參數(shù)上,通常用于文件上傳

@RequestMapping("/m9")
public String getfile(@RequestPart("file") MultipartFile file) throws IOException {
	//獲取?件名稱
	String fileName = file.getOriginalFilename();
	//?件上傳到指定路徑
	file.transferTo(new File("D:/temp/" + file.getOriginalFilename()));
	return "接收到?件名稱為: "+fileName;
}

7.@CookieValue

 @CookieValue把請(qǐng)求中某個(gè) Cookie 的值直接綁定到控制器方法的參數(shù)上,下面的例子能夠指定獲取 Cookie 中鍵為 bite 的字段值

@RequestMapping("/getCookie")
public String cookie(@CookieValue("bite") String bite) {
	return "bite:" + bite;
}

8.@SessionAttribute

 @SessionAttribute能從當(dāng)前 HTTP Session 中獲取某個(gè)屬性的值,綁定到方法參數(shù)上,下面的例子就是從Session中獲取屬性名為 "username"的一系列屬性,比如{id=1001, username=“zhangsan”}

@RequestMapping("/getSess2")
public String sess2(@SessionAttribute(value = "username",required = false)
User username) {
	return "username:"+user.getUsername();
}
@RequestMapping("/getSess2")
public String sess2(@SessionAttribute(value = "username",required = false)
String username) {
	return "username:"+ username;
}

到此這篇關(guān)于一文盤點(diǎn)Spring MVC中用于處理HTTP請(qǐng)求的常用注解的文章就介紹到這了,更多相關(guān)Spring MVC處理HTTP請(qǐng)求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • idea自定義TODO和快捷鍵設(shè)置方式

    idea自定義TODO和快捷鍵設(shè)置方式

    文章主要介紹了在setting中設(shè)置TODO Patterns和Filters以實(shí)現(xiàn)自定義TODO的快捷輸入,并詳細(xì)說(shuō)明了設(shè)置LiveTemplates以使自定義TODO與默認(rèn)TODO一致的過(guò)程
    2026-05-05
  • springboot 使用ThreadLocal的實(shí)例代碼

    springboot 使用ThreadLocal的實(shí)例代碼

    這篇文章主要介紹了springboot 使用ThreadLocal的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 使用Java解決數(shù)組旋轉(zhuǎn)問(wèn)題的方法詳解

    使用Java解決數(shù)組旋轉(zhuǎn)問(wèn)題的方法詳解

    給定一個(gè)包含n個(gè)整數(shù)的數(shù)組,要求將數(shù)組中的元素向前移動(dòng)m個(gè)位置,即數(shù)組的前n-m個(gè)元素順序向后移動(dòng)m個(gè)位置,最后m個(gè)元素移動(dòng)到數(shù)組的最前面,本文給大家介紹了如何使用Java解決數(shù)組旋轉(zhuǎn)問(wèn)題,需要的朋友可以參考下
    2026-03-03
  • 詳解Spring Boot工程集成全局唯一ID生成器 UidGenerator的操作步驟

    詳解Spring Boot工程集成全局唯一ID生成器 UidGenerator的操作步驟

    本文就在項(xiàng)目中來(lái)集成 UidGenerator這一工程來(lái)作為項(xiàng)目的全局唯一 ID生成器。接下來(lái)通過(guò)實(shí)例代碼給大家詳解詳解Spring Boot工程集成全局唯一ID生成器 UidGenerator的操作步驟,感興趣的朋友一起看看吧
    2018-10-10
  • springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問(wèn)題

    springmvc使用REST出現(xiàn):Request?method?'PUT'?not?sup

    這篇文章主要介紹了springmvc使用REST出現(xiàn):Request?method?'PUT'?not?supported問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring聲明式事務(wù)@Transactional注解實(shí)現(xiàn)元數(shù)據(jù)驅(qū)動(dòng)的事務(wù)管理

    Spring聲明式事務(wù)@Transactional注解實(shí)現(xiàn)元數(shù)據(jù)驅(qū)動(dòng)的事務(wù)管理

    這篇文章主要為大家介紹了Spring聲明式事務(wù)@Transactional注解實(shí)現(xiàn)元數(shù)據(jù)驅(qū)動(dòng)的事務(wù)管理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • SpringCloud?Gateway讀取Request?Body方式

    SpringCloud?Gateway讀取Request?Body方式

    這篇文章主要介紹了SpringCloud?Gateway讀取Request?Body方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java中的使用及連接Redis數(shù)據(jù)庫(kù)(附源碼)

    Java中的使用及連接Redis數(shù)據(jù)庫(kù)(附源碼)

    這篇文章主要介紹了Java中的使用及連接Redis數(shù)據(jù)庫(kù)(附源碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringBoot Actuator未授權(quán)訪問(wèn)漏洞的排查和解決方法

    SpringBoot Actuator未授權(quán)訪問(wèn)漏洞的排查和解決方法

    Spring Boot Actuator 是開發(fā)和管理生產(chǎn)級(jí) Spring Boot 應(yīng)用程序的重要工具,它可以幫助你確保應(yīng)用程序的穩(wěn)定性和性能,本文給大家介紹了SpringBoot Actuator未授權(quán)訪問(wèn)漏洞的排查和解決方法,需要的朋友可以參考下
    2024-05-05
  • 教你如何更改IDEA項(xiàng)目的路徑

    教你如何更改IDEA項(xiàng)目的路徑

    這篇文章主要介紹了教你如何更改IDEA項(xiàng)目的路徑,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01

最新評(píng)論

循化| 沙田区| 漯河市| 平顶山市| 临夏市| 屯门区| 嘉义县| 叙永县| 沭阳县| 洪雅县| 河津市| 象山县| 南澳县| 蒙自县| 巴东县| 吉木萨尔县| 开原市| 濮阳县| 石城县| 霍邱县| 青阳县| 阜阳市| 威远县| 安陆市| 沂水县| 阿图什市| 黄骅市| 安国市| 民丰县| 宝丰县| 漳平市| 古浪县| 梧州市| 松原市| 淮阳县| 乌拉特中旗| 邹城市| 克东县| 瑞安市| 长垣县| 河源市|