032-Spring Data REST

Spring Data JPA是基于Spring Data 的Repository之上,可以將Repository自動輸出為REST資源。目前Spring Data REST支持將Spring Data JPA、Spring Data MongoDB、Spring Data Neo4j、Spring Data Gemfire以及Spring Data Cassandra的Repository自動轉(zhuǎn)換成REST服務(wù)。


簡單點說,Spring Data REST把我們需要編寫的大量REST模版接口做了自動化實現(xiàn)。


在Spring boot中使用Spring Data REST只需引入spring-boot-starter-data-rest的依賴,無須任何配置即可使用。


首先,新建一個項目,


首先在項目里面建一個實體類,對應(yīng)數(shù)據(jù)庫的SYS_USER表,表里只有id和name兩個字段:


然后新建一個jpa接口,

注意:此jia接口的寫法和前面jpa文章里面的一模一樣,唯一不同是注解使用了@RepositoryRestResource ,在注解中定義了path參數(shù),這些在轉(zhuǎn)化成rest接口的時候會用到。


上面兩個簡單的代碼已經(jīng)實現(xiàn)了SysUser實體類的RESTFul風(fēng)格的所有接口。


在數(shù)據(jù)中加入三個數(shù)據(jù):

查詢

項目端口號為8032,用戶的jpa的path為users,那么訪問/users就可以查到所有的用戶,如下:


分頁查詢

加上參數(shù)可以實現(xiàn)分頁,比如每頁一條數(shù)據(jù),查第二頁,連接為?/users?page=1&size=1(分頁頁碼從0開始):


可以看到我們只寫了一個實體類和一個jpa接口,就幫我們實現(xiàn)了restful接口的查詢。并且分頁中還附帶首頁尾頁上一頁下一頁的連接。


新增數(shù)據(jù)

Spring Data REST的功能還不止如此,下面展示新增方法,鏈接為/users,接口調(diào)用如下:

可以看到直接輸入屬性就可以增加一個用戶,

根據(jù)id查詢

返回的新增用戶信息帶一個連接,后面跟的是新用戶的id,可以推測出根據(jù)id查詢用戶的連接是/users/id:


排序

排序查詢的連接為:/users?sort=字段名,desc/asc,如下:


更新

更新操作與新增操作類似,不過參數(shù)中要帶上主鍵:

數(shù)據(jù)庫中變?yōu)椋?/p>

或者使用put訪問:

數(shù)據(jù)庫中變?yōu)椋?/p>


根據(jù)id刪除數(shù)據(jù)

刪除數(shù)據(jù)使用delete形式:

查看數(shù)據(jù)庫:

數(shù)據(jù)已被刪除。




自定義查詢方法

在jpa接口中定義一個根據(jù)name查詢的方法:

注意,此處使用的注解為@RestResource,path參數(shù)為name,表示路徑為name,接口調(diào)用如下:

可以看到,users后面跟了一個search,然后是定義的path,后面是name參數(shù),自定義查詢的路徑要注意。



模糊查詢

自定義模糊查詢,查詢以參數(shù)name為靠頭的name字段的表數(shù)據(jù),自定義方法如下:

根據(jù)注解,查詢鏈接為? /users/search/nameStartsWith?name=參數(shù),如下:

這就是簡單的模糊查詢。



以上就是springboot整合spirng data rest 的簡單使用。



代碼地址:?https://gitee.com/blueses/spring-boot-demo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容