Spring MVC 接口的訪問方法如何設置

@RequestMapping?是 Spring 框架中用于映射 HTTP 請求到控制器方法的注解。它支持以下 HTTP 方法訪問類型,通過?method?屬性指定:

  1. GET:用于獲取資源
  2. POST:用于提交數據
  3. PUT:用于更新資源
  4. DELETE:用于刪除資源
  5. PATCH:用于部分更新資源
  6. HEAD:類似于 GET 請求,但只返回狀態行和頭信息
  7. OPTIONS:返回服務器支持的 HTTP 方法

現實情況GET方法和POST方法的使用占很大的部分,主要講解GET和POST方法的使用,其他方法舉一反三就可以了

1.所有方法都可以訪問情況

@RequestMapping可以是類注解也可以是方法注解,加在類上或者加在方法上都可以,一般來說都建議在類上面加上,因為方便我們快速的定位問題。

@RestController
@RequestMapping("/user")   //第一層路徑
public class UserController {@RequestMapping("/u1") //第二層路徑public String u1() {return "hello u1";}
}

將程序運行起來后,通過瀏覽器輸入 http://localhost:8080/user/u1 訪問,當然端口有可能不是8080,在運行的時候看一下就可以了

結果:

1.1 類注解可以不寫,但是一般建議寫上

@RestController
public class UserController {@RequestMapping("/u1")public String u1() {return "hello u1";}
}

1.2 在寫路徑的時候不寫 “/” 也可以,但是最好加上,這算是行業內的規范

@RequestMapping("user")
public class UserController {@RequestMapping("u1")public String u1() {return "hello u1";}
}

1.3 也可以寫多層路徑

@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/u/u1")public String u1() {return "hello u1";}
}

?

2. 限制特定的方法訪問

這里我只舉例get的訪問方式,之后的簡單介紹一下就ok了

在注解中添加method屬性,可以通過這些屬性設置訪問的限定方式:

@RequestMapping添加method屬性

@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping(value = "/u1", method = RequestMethod.GET)public String u1() {return "hello u1";}
}

或者使用

@GetMapping

@RestController
@RequestMapping("/user")
public class UserController {//    @RequestMapping(value = "/u1", method = RequestMethod.GET)@GetMapping("/u1")//就只能被get方法訪問public String u1() {return "hello u1";}
}

不同方法測試

這里我們用postman來測試,不同的方法是否可以訪問:

測試get方法:

測試post方法:

?

3.其他方法

?

快捷注解

為簡化開發,Spring 還提供了針對特定 HTTP 方法的快捷注解:

?
  • @GetMapping:等同于?@RequestMapping(method = RequestMethod.GET)
  • @PostMapping:等同于?@RequestMapping(method = RequestMethod.POST)
  • @PutMapping:等同于?@RequestMapping(method = RequestMethod.PUT)
  • @DeleteMapping:等同于?@RequestMapping(method = RequestMethod.DELETE)
  • @PatchMapping:等同于?@RequestMapping(method = RequestMethod.PATCH)
?

這些快捷注解使代碼更簡潔易讀,推薦優先使用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/905618.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905618.shtml
英文地址,請注明出處:http://en.pswp.cn/news/905618.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux libdbus使用案例

以下是一個基于 Linux libdbus 的詳細指南,包含服務端和客戶端的完整代碼示例,涵蓋 方法調用、信號發送 和 異步消息處理。libdbus 是 D-Bus 的底層 C 庫,直接操作 D-Bus 協議,適合需要精細控制的場景。 1. libdbus 的核心機制 連接管理:通過 dbus_bus_get 連接系統總線或…

Day118 | 靈神 | 二叉樹 | 刪點成林

Day118 | 靈神 | 二叉樹 | 刪點成林 1110.刪點成林 1110. 刪點成林 - 力扣(LeetCode) 思路: 最直接的思路就是看當前結點的值是不是在要刪除的列表中,在的話刪除當前結點并把左右孩子加入res中 很可惜這樣是錯的,…

趣味編程:鐘表

目錄 1. 效果展示 2. 源碼展示 3. 邏輯概述 3.1 表針繪制函數(DrawHand) 3.2 表盤繪制函數 3.3 主程序邏輯 4. 小結 概述:本篇博客主要介紹簡易鐘表的繪制。 1. 效果展示 該鐘表會隨著系統的時間變化而變化,動態的效…

ansible進階02

管理主機清單變量 使用變量的原則 變量創建的位置 角色的defaults或vars目錄主機清單playbook或主機清單所在位置的子目錄group_vars和host_varsplay或角色或任務 無論在哪創建變量,都應該遵守一些規則: 保持簡潔不要重復造輪子。不要反復在多個位置…

C40-指針

一 指針的引入 什么是指針:指針是一個變量&#xff0c;其值是另一個變量的內存地址 簡單的使用地址輸出一個變量: 代碼示例 #include <stdio.h> int main() {int a10;printf("a的地址是:%p\n",&a);printf("a%d\n",*(&a)); //*號是取值運算符…

Nginx 返回 504 狀態碼表示 網關超時(Gateway Timeout)原因排查

Nginx 返回 504 狀態碼表示 網關超時&#xff08;Gateway Timeout&#xff09;&#xff0c;這意味著 Nginx 作為反向代理服務器&#xff0c;在等待上游服務器&#xff08;如后端應用服務器、數據庫服務器等&#xff09;響應時&#xff0c;超過了預設的時間限制&#xff0c;最終…

DeepSeek推理優化技巧:提升速度與降低成本

文章目錄 DeepSeek推理優化技巧&#xff1a;提升速度與降低成本引言一、模型優化&#xff1a;減少模型參數與計算量1. 模型剪枝&#xff08;Pruning&#xff09;2. 模型量化&#xff08;Quantization&#xff09;3. 知識蒸餾&#xff08;Knowledge Distillation&#xff09; 二…

深度解析 Sora:從技術原理到多場景實戰的 AI 視頻生成指南【附學習資料包下載】

一、技術架構與核心能力解析 1.1 時空建模體系的創新突破 Sora 在視頻生成領域的核心優勢源于其獨特的時空建模架構。區別于傳統將視頻拆解為單幀處理的模式,Sora 采用時空 Patch 嵌入技術,將連續視頻序列分割為 32x32 像素的時空塊(每個塊包含相鄰 3 幀畫面),通過線性投…

【實戰篇】數字化打印——打印部署管理接口開發

前言 前面的章節已經介紹了打印管理模塊的主要界面設計&#xff0c;本篇介紹用myBuilder開發界面接口&#xff0c;實現最終的功能。 1. 配置打印應用菜單 首先配置掛載好模塊菜單 讓菜單點擊能訪問到對應的頁面 2. 打印部署管理數據表詳細設計 以下是打印部署管理的數據表字…

Window下Jmeter多機壓測方法

1.概述 Jmeter多機壓測的原理&#xff0c;是通過單個jmeter客戶端&#xff0c;控制多個遠程的jmeter服務器&#xff0c;使他們同步的對服務器進行壓力測試。 以此方式收集測試數據的好處在于&#xff1a; 保存測試采樣數據到本地機器通過單臺機器管理多個jmeter執行引擎測試…

ResourceBundle多語言國際化

在 Java 中&#xff0c;ResourceBundle 是一個用于國際化&#xff08;i18n&#xff09;和本地化&#xff08;l10n&#xff09;的一種機制&#xff0c;它使得程序能夠根據不同的區域設置&#xff08;如語言、國家等&#xff09;加載不同的資源文件。ResourceBundle 主要用于從外…

精益數據分析(62/126):從客戶訪談評分到市場規模估算——移情階段的實戰進階

精益數據分析&#xff08;62/126&#xff09;&#xff1a;從客戶訪談評分到市場規模估算——移情階段的實戰進階 在創業的移情階段&#xff0c;科學評估用戶需求與市場潛力是決定產品方向的關鍵。今天&#xff0c;我們結合Cloud9 IDE的實戰經驗與《精益數據分析》的方法論&…

第四天——貪心算法——種花

1. 題目 有一個花壇&#xff0c;其中0 表示該位置是空的&#xff0c;可以種花。1 表示該位置已經有花&#xff0c;不能種花。 規則&#xff1a;新種的花不能種在相鄰的位置&#xff08;即如果某個位置已經種了花&#xff0c;它的左右兩個相鄰位置不能再種花&#xff09;。給定…

【重磅】配電網智能軟開關和儲能聯合規劃

目錄 1 主要內容 目標函數 數據說明 節點系統圖 2 部分代碼 3 程序結果 4 下載鏈接 1 主要內容 該程序復現《具有源荷不平衡特性的配電網智能軟開關和儲能聯合規劃》部分模型&#xff0c;未考慮聚類分析和分布魯棒部分&#xff0c;就智能軟開關和儲能聯合規劃部分進行了…

QMK固件OLED顯示屏配置教程:從零開始實現個性化鍵盤顯示(實操部分)

QMK固件OLED顯示屏配置教程:從零開始實現個性化鍵盤顯示 ?? 前言: 作為一名鍵盤愛好者,近期研究了QMK固件的OLED顯示屏配置,發現網上的教程要么太過復雜,要么過于簡單無法實際操作。因此決定寫下這篇教程,從零基礎出發,帶大家一步步實現鍵盤OLED屏幕的配置與個性化顯示…

中國科學院計算所:從 NFS 到 JuiceFS,大模型訓推平臺存儲演進之路

中科院計算所在建設大模型訓練與推理平臺過程中&#xff0c;模型規模與數據集數量呈爆發式增長。最初采用簡單的裸機存儲方案&#xff0c;但很快面臨數據孤島、重復冗余、管理混亂和資源利用不均等問題&#xff0c;于是升級到了 NFS 系統。然而&#xff0c;隨著使用強度增加&am…

飛牛NAS本地部署開源TTS文本轉語音工具EasyVoice與遠程使用流程

文章目錄 前言1. 環境準備2. Docker部署與運行3. 簡單使用測試4. 安裝內網穿透4.1 開啟ssh連接安裝cpolar4.2 創建公網地址 5. 配置固定公網地址總結 前言 本文主要介紹如何在fnOS飛牛云NAS使用Docker本地部署一款非常好用的開源TTS文本轉語音工具EasyVoice&#xff0c;并結合…

部署安裝jenkins.war(2.508)

實驗目的&#xff1a;部署jenkins&#xff0c;并與gitlab關聯bulid 所需軟件&#xff1a;jdk-17_linux-x64_bin.tar.gz jenkins.war apache-tomcat-10.1.40.tar.gz 實驗主機&#xff1a;8.10具有java環境,內存最少為4G&#xff0c;cpu雙核 目錄 jdk安裝 …

AEO認證的好處 ,如何快速獲取AEO認證?

AEO認證的好處及快速獲取方法 AEO&#xff08;Authorized Economic Operator&#xff0c;經認證的經營者&#xff09; 是海關對符合國際供應鏈安全標準的企業給予的認證&#xff0c;分為 AEO一般認證 和 AEO高級認證。獲得AEO認證可享受多項通關便利&#xff0c;提升企業國際貿…

(01)數字化轉型之采購管理:從計劃到退貨的精細化管控

引言&#xff1a;采購管理對企業運營的關鍵作用 在當今競爭激烈的商業環境中&#xff0c;采購管理已成為企業成本控制和供應鏈優化的核心環節。一項研究顯示&#xff0c;采購成本通常占企業總成本的60%-80%&#xff0c;而高效的采購管理可幫助企業降低5%-15%的采購成本。本文將…