一、創建項目並導入依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>5.1.27</version>
</dependency>
二、相關配置和代碼
2.1 |
Application.properties |
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/jpa_restful?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=123
spring.jpa.show-sql=true
spring.jpa.database-platform=mysql
spring.jpa.database=mysql
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
配置就不解釋了,詳情請看
https://www.cnblogs.com/fernfei/p/12113045.html
2.1 |
pojo,dao層 |
三、使用Postman工具測試
3.1 |
增刪改 |
增加:
Localhost:8080/users,中的users是對應你實體類的user但是要加s
修改:
刪除:
刪除更簡單直接川id就行
3.2 |
查詢 |
查詢分兩種一是默認提供的查詢,二是自定義查詢
默認查詢:
查詢所有 |
|
根據Id查詢 |
|
分頁查詢 |
|
分頁帶排序 |
自定義查詢:
JPA自定義規則請看https://www.cnblogs.com/fernfei/p/12113045.html
3.3 |
自定義查詢路徑 |
方法上:
@RestResource(path="byname",rel="findbyname")
exported :是否暴露出自定義的接口
path:
修改掉紅框的太長接口名
rel:
替換掉紅框
類上:
@RepositoryRestResource(path="query",collectionResourceRel="collectionuser",itemResourceRel="itemuser")
exported:同上
path:
collectionResourceRel:
itemResouceRel:
效果圖:
Appliction.perterites配置路徑
spring.data.rest.base-path=/api |
|
spring.data.rest.return-body-on-create=true |
默認為true,添加時返回添加的記錄 |
spring.data.rest.return-body-on-update=true |
默認為true,修改時返回修改的記錄 |
spring.data.rest.default-page-size |
默認一頁的記錄數 |
spring.data.rest.max-page-size |
最大的記錄數 |
spring.data.rest.limit-param-name
spring.data.rest.page-param-name
spring.data.rest.sort-param-name |
http://localhost:8080/api/users?page=0&size=2&sort=id,desc 自定義分頁的參數名 limit對應size,page對應page,sort對應sort |
spring.data.rest.default-media-type |
默認參數的數據類型,比如上面例子postman里面添加修改時選的是json類型 |
通過配置類配置
和Application.perteries里面配置是一模一樣的,配置類優先級高於application.proteries 所有 兩個同時存在時配置類生效
四、REST配置跨域
兩種配置方法
1:全局配置
查看該篇博客https://www.cnblogs.com/fernfei/p/12079478.html
2:dao層配置跨域也一樣行