Spring全家桶中的常用註解

2022-09-12 19:57:15 字數 1646 閱讀 7263

@restcontroller 註解相當於 @responsebody + @controller,表示這個類中的方法返回,均是json格式的資料。

spingboot支援restful風格的請求,比如前台請求/user/1,後台可以這樣獲取

("/user/"

)public

string

getuserinfo

(@pathvariable

(value =

"userid"

)integer id)

如果請求url 中的引數和方法中的引數名稱相同,可以省略value屬性,否則要指定。

該註解也是獲取獲取請求引數,功能和@pathvariable類似。

但是它們的寫法時不同的(以請求userid=1的使用者資訊為例),而且解析也不一樣

@pathvariable:/user/1

@requestparam:/user?userid=1

@requestparam傳遞的引數是封裝在request物件中的,另外它還有個預設值(可以看原始碼。)

如果前台傳入的引數很多,比如表單提交一位學生資訊(年齡,籍貫,身高,性別,出生年月,班級,任課老師,成績,綜合評價)。

這樣的資訊是很多的,而且高度統一,如果用@requestparam來接收,可能要寫數個,甚至數十個@requestparam。

此時,我們可以用@requestbody來接收多引數請求。

@requestbody能夠接收前端傳來的多引數,並且將其對映為j**a實體類。

前提是,引數名必須和實體類的屬性名一一對應。

@data

public

class

student

("/student"

)public

string

test

(@requestbody

student student)

spring-boot已經引入基礎包,直接使用即可。

可以在controller上,做業務處理前,先對引數進行校驗。

controller

/**

* 新增引數配置

*/public

ajaxresult

add(

@validated

@requestbody

sysconfig config)

config.

setcreateby

(securityutils

.getusername()

);return

toajax

(configservice.

insertconfig

(config));

}

實體類

@data

public

class

sysconfig

此時,當前臺傳入的引數不滿意條件,就會丟擲異常,然後由異常中心統一處理

也可以在controller中增加引數bindingresult,自行處理異常,但是這有點侵入封裝好的邏輯,不推薦

Spring全家桶之spring基礎

於 15個經典的spring面試常見問題 spring模組?談談自己對於 spring ioc 和 aop 的理解 spring aop 和 aspectj aop 有什麼區別?spring 中的 bean 的作用域有哪些?spring 中的單例 bean 的執行緒安全問題了解嗎?spring 中的...

玩轉Spring全家桶 學習筆記

alibaba druid 特點 詳細的監控,sql防注入,內建加密配置,眾多擴充套件點 一致的事務抽象 事務抽象的核心介面 platformtransactionmanager transactiondefinition void commit transactionstatus status t...

Vue全家桶 常用特性 指令

常用特性概覽 1.表單操作 input textarea select radio checkbox 表單域修飾符 number 轉化為數值 trim 去掉開始和結尾的空格 lazy 將input事件轉為change事件 2.自定義指令 vue.directive focus 用法 v focus ...