【spring boot】注解@ApiParam @PathVariable @RequestParam三者區別

1.@ApiParam,就是用于swagger提供開發者文檔,文檔中生成的注釋內容。

@ApiOperation( value = "編輯公告", notes = "編輯公告", httpMethod = "POST" )@RequestMapping( value = "/edit", method = RequestMethod.POST )public RequestResult edit(@ApiParam(name = "title", value = "公告標題", required = true) @RequestParam("title") String title,@ApiParam(name = "content", value = "公告內容", required = true) @RequestParam("content") String content){

?

2.@RequestParam,是獲取前端傳遞給后端的參數,可以是get方式,也可以是post方式。

其中如果前端傳遞的參數和后端你接受的參數起的名字字段是一致的可以省略不寫,所以@RequestParam("title") String title 也可以直接寫@RequestParam String title。

如果不一致一定要完整寫,不然獲取不到,如下面的bis_key就必須寫。

@ApiOperation( value = "編輯公告", notes = "編輯公告", httpMethod = "POST" )@RequestMapping( value = "/edit", method = RequestMethod.POST )public RequestResult edit(@ApiParam(name = "bis_key", value = "bis_key", required = true)@RequestParam("bis_key") String bisKey,@ApiParam(name = "title", value = "公告標題", required = true) @RequestParam String title,@ApiParam(name = "content", value = "公告內容", required = true)  String content,

?

3.@PathVariable,是獲取get方式,url后面參數,進行參數綁定

@ApiOperation(value = "刪除公告", notes = "刪除公告", httpMethod = "POST")@RequestMapping(value = "/delete/{bisKey}", method = RequestMethod.POST)public RequestResult remove(@ApiParam(name = "bisKey", value = "需要刪除的公告ids", required = true) @PathVariable String bisKey) {

對于Restful風格

@PatchMapping("api/v1/staff/{id}")@ApiOperation(value = "修改staff")@ApiImplicitParams(ApiImplicitParam(name = TokenService.TOKEN_HEADER, defaultValue = TokenService.TOKEN_STARTS, value = "access_token", dataType = "string", paramType = "header"))@Transactionalfun patch(@RequestHeader(name = TokenService.TOKEN_HEADER, required = true)token: String,@PathVariable("id") id: Long,@RequestBody request: CreateStaffRequest): GenericResponse<StaffData> {val user = this.user(token).uservar staff = this.staffService.findStaff(id)staff = this.staffService.updateStaff(staff = staff,realname = request.realname,mobile = request.mobile,idCard = request.idCard,gender = request.gender,password = request.password,subCompanyId = request.subCompanyId,departmentId = request.departmentId,roleIdSet = if (request.roleIdSet.count() <= 0) throw BadRequestException("roleIdSet大小不能為0") else request.roleIdSet,enabled = request.enabled,updater = user)return GenericResponse(items = StaffData(staff))}@DeleteMapping("api/v1/staff/{id}")@ApiOperation(value = "刪除staff")@ApiImplicitParams(ApiImplicitParam(name = TokenService.TOKEN_HEADER, defaultValue = TokenService.TOKEN_STARTS, value = "access_token", dataType = "string", paramType = "header"))@Transactionalfun delete(@RequestHeader(name = TokenService.TOKEN_HEADER, required = true)token: String,@PathVariable("id") id: Long): GenericResponse<StaffData> {val user = this.user(token).uservar staff = this.staffService.findStaff(id)staff = this.staffService.deleteStaff(staff = staff,operator = user)return GenericResponse(items = StaffData(staff))}@PutMapping("api/v1/staff/{id}")@ApiOperation(value = "恢復被刪除的staff操作")@ApiImplicitParams(ApiImplicitParam(name = TokenService.TOKEN_HEADER, defaultValue = TokenService.TOKEN_STARTS, value = "access_token", dataType = "string", paramType = "header"))@Transactionalfun restore(@RequestHeader(name = TokenService.TOKEN_HEADER, required = true)token: String,@PathVariable("id") id: Long): GenericResponse<StaffData> {val user = this.user(token).uservar staff = this.staffService.findStaff(id)staff = this.staffService.restoreStaff(staff, user)return GenericResponse(items = StaffData(staff))}

?

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

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

相關文章

Zookeeper Watch監聽

概述 ZooKeeper -server host:port cmd args stat path [watch] ls path [watch] ls2 path [watch] get path [watch] watch監聽有不同的類型&#xff0c;有監聽狀態的stat &#xff0c;內容的get&#xff0c;目錄結構的ls。 命令使用一次&#xff0c;只監聽…

win10文件顯示后綴名_win10系統,如何去除“此電腦” 里的6個多余文件夾

Windows系統從XP到win7,再到進化到如今的win10&#xff0c;在系統性能和使用便捷性方面&#xff0c;確實改進了很多&#xff0c;但是&#xff0c;金無赤足&#xff0c;沒有完美的東西&#xff0c;總是有一些小細節讓我們感覺不舒服&#xff0c;如如鯁在喉。比如我們下面看到的這…

ubuntu sun-java6-jre_在 Ubuntu Lucid 下請回 Sun Java6 Jre, 趕走 OpenJDK

Ubuntu Lucid 將 sun-java6-jre 系列包移出了源&#xff0c;java軟件用 openjdk系列包提供支持。然而在某些軟件(比如FreeRapid)的使用中&#xff0c;openjdk還是喜歡出一些莫名其妙的錯誤(比如棧溢出)&#xff0c;因此考慮請回sun-java6-jre。具體方法很簡單&#xff0c;首先添…

數字化工廠的五大系統_如何搭建以MES系統為核心的數字化工廠?

MES強調車間級的過程集成、控制和監控&#xff0c;以及合理地配置和組織所有資源。滿足車間信息化需要&#xff0c;提高車間對隨機事件的快速響應和處理能力&#xff0c;有力地促進企業信息化進程向車間層拓展。通過構建以“精益生產、智能制造”為特點的車間管理系統&#xff…

zookeeper數據結構及Znode類型

結構 1、層次化的目錄結構&#xff0c;命名符合常規文件系統規范 2、每個節點在zookeeper中叫做znode,并且其有一個唯一的路徑標識。 3、節點Znode可以包含數據和子節點&#xff08;但是EPHEMERAL類型的節點不能有子節點&#xff09;。 4、客戶端應用可以在節點上設置監視器…

Windows10下手工強制清理刪掉安裝版的JRE8導致java.exe無法運行的解決辦法

error:could not open xxxx.jvm.cfg 參考&#xff1a;https://blog.csdn.net/u010102493/article/details/18425267 1.搜索并刪掉C:\Windows\System32下&#xff1a;java*.exe 仍然不行&#xff1a; 在WIN10的開始菜單搜索java C:\ProgramData\Oracle\Java下還有一些東西。 確認…

設計企業網站大綱_企業網站設計布局

網站制作一年350元&#xff0c;五站合一&#xff0c;快速建站 &#xff0c;www.sxjcwzjs.com,只需進入網站右上角注冊快速建站即可(需要電腦登錄注冊)&#xff0c;需要聯系我吧&#xff01;電話&#xff1a;13752214574&#xff0c;微信號&#xff1a;m1078582894企業網站布局很…

python畫子圖_Python使用add_subplot與subplot畫子圖操作示例

本文實例講述了Python使用add_subplot與subplot畫子圖操作。分享給大家供大家參考&#xff0c;具體如下&#xff1a;子圖&#xff1a;就是在一張figure里面生成多張子圖。Matplotlib對象簡介FigureCanvas 畫布Figure 圖Axes 坐標軸(實際畫圖的地方)注意&#…

vue導入靜態js_如何在vue js中加載靜態圖像

我有一個組件,它接受一個prop字符串,即一個url。它可以是遠程圖片,也可以是資產文件夾中的本地靜態資產。目錄結構:-assets/- logo.png-app.vue-components/-ImageTest.vue圖像測試.vue{{imagelink}}export default {name: "ImageTest",props:{imagelink: String,},c…

Zookeeper JavaApi 增刪改查

官網API http://zookeeper.apache.org/doc/r3.4.6/api/index.html JAR包 \zookeeper-3.3.6\lib\ jline-0.9.94.jar \zookeeper-3.3.6\lib\ log4j-1.2.15.jar \zookeeper-3.3.6\ zookeeper-3.3.6.jar Demo代碼 注意代碼中的注解 package hello.zookeeper.api;import java.uti…

搭建linux測試環境有什么用_談談現在搭建網站用什么程序好,選擇對的程序是很重要的開頭...

目前可以選擇的網站程序還是蠻多的&#xff0c;開源的系統也很多&#xff0c;也有很多精品。更多時候&#xff0c;選擇網站程序要結合網站的定位。說說dedecms&#xff0c;就是我們都知道的織夢程序&#xff0c;功能很齊全&#xff0c;作為一個簡單的資訊門戶網站&#xff0c;算…

python練習筆記——利用信號signal處理僵尸進程

1 signal處理僵尸進程的基于語法 利用信號signal處理僵尸進程的方法&#xff1a;signal(SIGCHLD,SIG_IGN)&#xff0c;該方法也是第三種處理僵尸進程的方法。 SIGCHLD&#xff1a;子進程狀態改變后產生此信號&#xff0c;父進程需要調用一個wait函數以確定發生了什么。 1&#…

Zookeeper應用:服務端上下線

需求 客戶端感知服務器的上下線。 示意圖 步驟 服務端&#xff1a; 1、所有機子向Zookeeper注冊&#xff0c;注冊znode為臨時的。 2、有機子下線&#xff0c;連接斷開后被Zookeeper自動刪除&#xff0c;觸發監聽事件。 3、有機子上線&#xff0c;觸發監聽事件。 客戶端&am…

哈希表查找失敗的平均查找長度_你還應該知道的哈希沖突解決策略

本文首發于 vivo互聯網技術 微信公眾號 鏈接&#xff1a;https://mp.weixin.qq.com/s/5vxYoeARG1nC7Z0xTYXELA作者&#xff1a;Xuegui Chen哈希是一種通過對數據進行壓縮, 從而提高效率的一種解決方法&#xff0c;但由于哈希函數有限&#xff0c;數據增大等緣故&#xff0c;哈希…

hive 創建訪問用戶_hive創建角色并賦權

1 角色管理命令1.1 創建角色創建一個新角色&#xff0c;需要 admin 用戶執行CREATE ROLE role_name;1.2 刪除角色刪除一個角色&#xff0c;需要 admin 用戶執行DROP ROLE role_name;1.3 顯示當前角色顯示用戶當前角色列表SHOW CURRENT ROLES;1.4 設定角色如果指定了role_name&a…

python 正則替換_5分鐘速覽Python正則表達式常用函數!五分鐘就掌握它!

導讀&#xff1a;正則表達式是處理字符串類型的"核武器"&#xff0c;不僅速度快&#xff0c;而且功能強大。本文不過多展開正則表達式相關語法&#xff0c;僅簡要介紹python中正則表達式常用函數及其使用方法&#xff0c;以作快速查詢瀏覽。01 Re概覽Re模塊是python的…

MFC鼠標OnMouseHover使用

ON_WM_MOUSEHOVER消息要生效,要配合ON_WM_MOUSEMOVE一起使用.代碼如下:void CYuButton::OnMouseMove(UINT nFlags, CPoint point) {// TODO: 在此添加消息處理程序代碼和/或調用默認值TRACKMOUSEEVENT tme { 0 };tme.cbSize sizeof(TRACKMOUSEEVENT);tme.dwFlags TME_HOVER…

oracle 分組_大數據分組怎樣才會更快

分組是數據庫的常見運算&#xff0c;無論數據如何準備&#xff0c;通常都需要將所有數據遍歷。建立索引這時是不起作用的&#xff0c;存儲格式才是決定遍歷效率的主要因素。數據庫中數據的存放雖然是二進制格式的&#xff0c;但普遍IO性能差&#xff0c;庫內遍歷快&#xff0c;…

java下拉樹_參數模板中下拉樹級聯下拉數據集查詢

背景說明在參數表單的制作中會遇到各種各樣的需求&#xff0c;如為了方便參數的輸入&#xff0c;需要將輸入框設計成樹狀&#xff1b;若參數模板中有兩個輸入框&#xff0c;每個輸入框對應的參數有某種關系&#xff0c;前一個輸入框輸入參數后&#xff0c;后一個輸入框自動關聯…

java8 list 行轉列_太贊了,Intellij IDEA 竟然把 Java8 的數據流問題這么完美的解決掉了!

使用 IntelliJ IDEA 來幫忙構建你自己的實時模板連接分組《Java 2019 超神之路》《Dubbo 實現原理與源碼解析 —— 精品合集》《Spring 實現原理與源碼解析 —— 精品合集》《MyBatis 實現原理與源碼解析 —— 精品合集》《Spring MVC 實現原理與源碼解析 —— 精品合集》《Spr…