亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring Boot 中 controller層注解常用方法詳解

 更新時(shí)間:2025年10月29日 15:58:50   作者:克萊恩~莫雷蒂  
在 Spring Boot 中,@RestController 是一個(gè)用于處理 RESTful 風(fēng)格請(qǐng)求的組合注解,它結(jié)合了 @Controller 和 @ResponseBody,使得返回的對(duì)象直接轉(zhuǎn)換成 JSON 或 XML 格式,無需視圖解析,本文重點(diǎn)介紹Spring Boot 中 controller層注解常用方法,感興趣的朋友一起看看吧

總結(jié):@RestController中的常用方法注解及其省略情況

在 Spring Boot 中,@RestController 是一個(gè)用于處理 RESTful 風(fēng)格請(qǐng)求的組合注解,它結(jié)合了 @Controller@ResponseBody,使得返回的對(duì)象直接轉(zhuǎn)換成 JSON 或 XML 格式,無需視圖解析。它常用于 API 接口,尤其是處理 HTTP 請(qǐng)求時(shí)常用的方法注解如下:

1.@GetMapping

作用:處理 HTTP GET 請(qǐng)求,通常用于獲取資源。

示例

@GetMapping("/greet")
public String greet() {
    return "Hello, World!";
}

省略情況

可以省略 @RequestParam:如果請(qǐng)求參數(shù)的名稱與方法參數(shù)名稱一致,@RequestParam 可以省略。

如果沒有查詢參數(shù),也可以省略 @RequestParam 注解。

2.@PostMapping

作用:處理 HTTP POST 請(qǐng)求,通常用于創(chuàng)建資源。

示例

@PostMapping("/createUser")
public String createUser(@RequestBody User user) {
    return "User created: " + user.getName();
}

省略情況

@RequestBody 不能省略:在處理 POST 請(qǐng)求時(shí),@RequestBody 用于將請(qǐng)求體數(shù)據(jù)映射到 Java 對(duì)象。

3.@PutMapping

作用:處理 HTTP PUT 請(qǐng)求,通常用于更新資源。

示例

@PutMapping("/updateUser/{id}")
public String updateUser(@PathVariable Long id, @RequestBody User user) {
    return "User with id " + id + " updated to: " + user.getName();
}

省略情況

@PathVariable@RequestBody 不能省略,除非你不需要從 URL 或請(qǐng)求體獲取參數(shù)。

4.@DeleteMapping

作用:處理 HTTP DELETE 請(qǐng)求,通常用于刪除資源。

示例

@DeleteMapping("/deleteUser/{id}")
public String deleteUser(@PathVariable Long id) {
    return "User with id " + id + " deleted";
}

省略情況

@PathVariable 不能省略,如果 URL 路徑中有動(dòng)態(tài)參數(shù)。

5.@PatchMapping

作用:處理 HTTP PATCH 請(qǐng)求,通常用于部分更新資源。

示例

@PatchMapping("/updateUser/{id}")
public String patchUser(@PathVariable Long id, @RequestBody User user) {
    return "User with id " + id + " partially updated to: " + user.getName();
}

省略情況

@PathVariable@RequestBody 不能省略,除非請(qǐng)求中沒有對(duì)應(yīng)的路徑或請(qǐng)求體。

6.@RequestMapping

作用:通用注解,用于處理所有 HTTP 請(qǐng)求類型(如 GET、POST、PUT、DELETE 等),可以指定 method 屬性限制特定的 HTTP 方法。

示例

@RequestMapping(value = "/greet", method = RequestMethod.GET)
public String greet() {
    return "Hello, World!";
}

省略情況

使用更具體的注解(如 @GetMapping@PostMapping 等)時(shí),@RequestMapping 可以省略。

7.@RequestParam

作用:獲取 HTTP 請(qǐng)求中的查詢參數(shù)。

示例

@GetMapping("/greet")
public String greet(@RequestParam String name) {
    return "Hello, " + name;
}

省略情況

可以省略:如果查詢參數(shù)的名稱與方法參數(shù)名稱一致,Spring 會(huì)自動(dòng)綁定查詢參數(shù)到方法參數(shù)。

8.@PathVariable

作用:從 URL 路徑中獲取動(dòng)態(tài)參數(shù)。

示例

@GetMapping("/greet/{name}")
public String greet(@PathVariable String name) {
    return "Hello, " + name;
}

省略情況

可以省略:如果方法參數(shù)的名稱與 URL 路徑變量名稱一致,Spring 自動(dòng)綁定。

9.@RequestBody

作用:將 HTTP 請(qǐng)求體中的數(shù)據(jù)映射為 Java 對(duì)象。

示例

@PostMapping("/createUser")
public String createUser(@RequestBody User user) {
    return "User created: " + user.getName();
}

省略情況

不能省略,如果方法需要從請(qǐng)求體中獲取數(shù)據(jù)。

10.@ResponseBody

作用:指示 Spring 將方法的返回值直接寫入 HTTP 響應(yīng)體,而不是進(jìn)行視圖解析。

示例

@RestController
public class MyController {
    @GetMapping("/greet")
    @ResponseBody
    public String greet() {
        return "Hello, World!";
    }
}

省略情況

可以省略:在 @RestController 中,@ResponseBody 已隱式包含,不需要顯式使用。

11.@Valid和@Validated

作用:用于驗(yàn)證請(qǐng)求體中的數(shù)據(jù),通常與 @RequestBody 配合使用。

示例

@PostMapping("/createUser")
public String createUser(@RequestBody @Valid User user) {
    return "User created: " + user.getName();
}

省略情況

可以省略:如果不需要對(duì)請(qǐng)求體進(jìn)行驗(yàn)證,@Valid@Validated 可以省略。

12.@ModelAttribute

作用:將 HTTP 請(qǐng)求中的參數(shù)綁定到 Java 對(duì)象。常用于表單提交或 GET 請(qǐng)求的查詢參數(shù)。

示例

@PostMapping("/createUser")
public String createUser(@ModelAttribute User user) {
    return "User created: " + user.getName();
}

省略情況

可以省略:如果你直接使用 @RequestParam@RequestBody 來處理參數(shù)綁定。

小結(jié):每種注解的省略情況

注解省略情況
@GetMapping查詢參數(shù)與方法參數(shù)名稱一致時(shí),@RequestParam 可以省略。
@PostMapping不能省略 @RequestBody,除非不需要請(qǐng)求體數(shù)據(jù)。
@PutMapping不能省略 @PathVariable@RequestBody。
@DeleteMapping不能省略 @PathVariable。
@PatchMapping不能省略 @PathVariable@RequestBody。
@RequestMapping使用更具體的注解(如 @GetMapping 等)時(shí)可以省略。
@RequestParam方法參數(shù)名稱與查詢參數(shù)名稱一致時(shí),可以省略。
@PathVariable方法參數(shù)名稱與路徑變量名稱一致時(shí),可以省略。
@RequestBody不能省略,用于綁定請(qǐng)求體中的數(shù)據(jù)。
@ResponseBody@RestController 中可以省略。
@Valid / @Validated不進(jìn)行驗(yàn)證時(shí)可以省略。
@ModelAttribute可以省略,如果使用 @RequestParam@RequestBody

結(jié)論:

這些注解讓 Spring Boot 中的 API 方法更具靈活性。合理使用它們并了解何時(shí)可以省略,能夠讓代碼更加簡潔、易于維護(hù)。

到此這篇關(guān)于Spring Boot 中 controller層注解常用方法詳解的文章就介紹到這了,更多相關(guān)springboot controller層注解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文弄懂fastjson

    一文弄懂fastjson

    fastjson?是一個(gè)java語言編寫的高性能且功能完善的JSON庫,本文主要介紹了fastjson的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-05-05
  • spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的方法

    spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的方法

    這篇文章主要給大家介紹了關(guān)于spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • SpringBoot為何可以使用Jar包啟動(dòng)詳解

    SpringBoot為何可以使用Jar包啟動(dòng)詳解

    springboot jar包啟動(dòng)腳本,適用于快速啟動(dòng),刪除,重啟,以及查看狀態(tài),下面這篇文章主要給大家介紹了關(guān)于SpringBoot為何可以使用Jar包啟動(dòng)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • springboot更新配置Swagger3的一些小技巧

    springboot更新配置Swagger3的一些小技巧

    今天給大家分享springboot更新配置Swagger3的方法,大家需要注意Swagger3版本需要引入依賴,具體示例代碼參考下本文
    2021-07-07
  • 如何用Java結(jié)合經(jīng)緯度位置計(jì)算目標(biāo)點(diǎn)的日出日落時(shí)間詳解

    如何用Java結(jié)合經(jīng)緯度位置計(jì)算目標(biāo)點(diǎn)的日出日落時(shí)間詳解

    這篇文章主詳細(xì)講解了如何基于目標(biāo)點(diǎn)的經(jīng)緯度計(jì)算日出日落時(shí)間,提供了在線API和Java庫兩種計(jì)算方法,并通過實(shí)際案例展示了其應(yīng)用,需要的朋友可以參考下
    2025-01-01
  • eclipse漢化及jdk安裝環(huán)境配置超詳細(xì)教程(Java安裝教程)

    eclipse漢化及jdk安裝環(huán)境配置超詳細(xì)教程(Java安裝教程)

    這篇文章主要介紹了eclipse漢化及jdk安裝環(huán)境配置超詳細(xì)教程(Java安裝教程),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Maven本地存在jar包IDEA依舊爆紅的完美解決方法

    Maven本地存在jar包IDEA依舊爆紅的完美解決方法

    這篇文章主要介紹了Maven本地存在jar包IDEA依舊爆紅的完美解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Hibernate基于ThreadLocal管理Session過程解析

    Hibernate基于ThreadLocal管理Session過程解析

    這篇文章主要介紹了Hibernate基于ThreadLocal管理Session過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java實(shí)現(xiàn)航空航班管理系統(tǒng)

    Java實(shí)現(xiàn)航空航班管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)航空航班管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 一文詳解jvm中的引用類型

    一文詳解jvm中的引用類型

    在Java中對(duì)象以引用來指向JVM的內(nèi)存區(qū)塊,這里我們總結(jié)了強(qiáng)引用、軟引用、弱引用和假象引用(幽靈引用),下面這篇文章主要給大家介紹了關(guān)于jvm中引用類型的相關(guān)資料,需要的朋友可以參考下
    2024-04-04

最新評(píng)論