目录

1、自定义请求路径

2、自定义查询方法

3、隐藏方法

4、配置cors

5、其他配置


1、添加restful项目的pom文件

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>

2、创建实体类

@Entity
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;private String name;private String age;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}
}

3、配置文件application.properties

#数据源1
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.url = jdbc:mysql://localhost/chapter01?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCspring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL57Dialect
spring.jpa.properties.database = mysql
spring.jpa.properties.hibernate.hbm2ddl.auto = update
spring.jpa.properties.show-sql = true

4、创建UserRepository

public interface UserRepository extends JpaRepository<User,Integer> {User findByNameEquals(@Param("name")String name);
}

自定义请求路径 

默认的查询方法为http://localhost:8080/实体类小写加s:http://localhost:8080/users

http://localhost:8080/users/search 改实体类暴露出了哪些方法

需要在 UserRepository加上注解 :@RepositoryRestResource(path = "us" ,collectionResourceRel = "us",itemResourceRel = "b")

自定义查询方法需要在方法上加上

@RestResource(path = "name",rel = "name")

隐藏方法

在类或方法上加上@RepositoryRestResource(exported=false)

配置cors

在类或方法上加@CrossOrigin可以跨域访问

其他配置

#每页默认条数,默认为20
spring.data.rest.default-page-size=2
#分页查询页码参数名,默认值为page
spring.data.rest.page-param-name=page
#分页查询记录参数名,默认为size
spring.data.rest.limit-param-name=size
#分页查询排序参数名,默认值为sort
spring.data.rest.sort-param-name=sort
#请求路径上都加上/api
spring.data.rest.base-path=/api
#添加成功是否返回内容
spring.data.rest.return-body-on-create=true
#更新成功是否返回更新内容
spring.data.rest.return-body-on-update=true

上面的配置也可以写成java配置,java配置优先级比较高

@Configuration
public class RestConfig extends RepositoryRestConfigurerAdapter {@Overridepublic void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {config.setDefaultPageSize(2).setPageParamName("page").setLimitParamName("size").setSortParamName("sort").setBasePath("/api").setReturnBodyOnCreate(true).setReturnBodyOnCreate(true);}
}

具体代码参考GitHub:https://github.com/FadeHub/spring-boot-learn/tree/master/spring-boot-restful

spring boot 整合RESTFUL服务相关推荐

  1. 使用Spring Boot构建RESTFul服务

    每个人都在谈论微服务,例如WSO2微服务框架 , Spring Boot等.由于我已经很长时间没有从事任何与Spring相关的项目了,所以我想到了使用Spring Boot实现一个简单的RESTFul ...

  2. 用Kotlin写一个基于Spring Boot的RESTful服务

    Spring太复杂了,配置这个东西简直就是浪费生命.尤其在没有什么并发压力,随便搞一个RESTful服务 让整个业务跑起来先的情况下,更是么有必要纠结在一堆的XML配置上.显然这么想的人是很多的,于是 ...

  3. Spring Boot 构建RESTful Web服务

    Spring Boot 构建RESTful Web服务 本指南将引导您完成使用Spring 创建" Hello World" RESTful Web服务的过程. 你会建立什么 您将 ...

  4. ElasticSearch教程与实战:从搭建服务到Spring Boot整合

    目录 写在前面 Elasticsearch是什么?可以解决什么问题? 关于Elasticsearch版本的选择 Elasticsearch的几个基本概念 索引(index) 类型(type) 文档(d ...

  5. 微服务Spring Boot 整合 Redis 实现 好友关注

    文章目录 ⛅引言 一.Redis 实现好友关注 -- 关注与取消关注 二.Redis 实现好友关注 -- 共同关注功能 ⛵小结 ⛅引言 本博文参考 黑马 程序员B站 Redis课程系列 在点评项目中, ...

  6. 猿创征文 | 微服务 Spring Boot 整合Redis 实战开发解决高并发数据缓存

    文章目录 一.什么是 缓存? ⛅为什么用缓存? ⚡如何使用缓存 二.实现一个商家缓存 ⌛环境搭建 ♨️核心源码 ✅测试接口 三.采用 微服务 Spring Boot 注解开启缓存 ✂️@CacheEn ...

  7. 一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事

    微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物.互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况 ...

  8. 一文透析 Spring Boot、微服务架构和大数据治理三者之间的故事

    微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物.互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况 ...

  9. Spring Cloud与微服务学习总结(8)——Spring Boot、微服务架构和大数据治理三者之间的故事

    前言 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物.互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况下,如 ...

最新文章

  1. 10a大电流稳压芯片_稳压二极管你见过,但是它的这些参数你知道吗
  2. ssh连接虚拟机中mysql_用SSH连接Vmware redhat虚拟机
  3. C++语言之可重载运算符/不可重载运算符
  4. php在空值时调用成员函数_当Vlookup函数匹配的结果是时间,或者空值时,显示不正常了...
  5. mount 网络_mount系统调用(ksys_mount-gt;do_mount-gt;do_new_mount)
  6. python输出程序运行时间_叨叨 Python 性能优化工具
  7. 英语笔记:写作:Nothing succeeds without a strong will
  8. 《Java技术》第一次作业
  9. 3.eclipse对mysql云数据库编程增删改查
  10. 这所美国大学研发出了Wi-Fi充电技术
  11. Python标准库中的uuid
  12. 查询各种物流运输信息
  13. 工作队列 ( workqueue )
  14. eclipse打开就闪退怎么办?
  15. js代码实现百度换肤
  16. (实用)网页在线QQ客服咨询html代码
  17. 全自动过滤器:全自动自清洗过滤器对给排水总结的经验
  18. qt4.8.5在arm下的移植
  19. 【ARM Coresight 介绍 3 - ARM Cortex-M DWT】
  20. UL测试报告办理流程,UL1017测试范围有那些?

热门文章

  1. 计算机比赛的评分办法,汉字录入比赛评分规则方案
  2. redis 计数器 java_Redis 实践汇总和使用建议。
  3. sql group by having用法_神奇的 SQL 为什么 GROUP BY 之后不能直接引用原表中的列?...
  4. netcore部署到docker 实现excel生成_Docker部署Redis集群----第七节(docker-redis-sentinel集群实现篇)...
  5. c++17(28)-Makefile(1)
  6. C指针原理(35)-Ncurses-文本终端的图形
  7. 【Python】Python爬虫快速入门,BeautifulSoup基本使用及实践
  8. 【机器学习基础】线性回归和梯度下降的初学者教程
  9. 情人节脱单必备,程序员如何花式表白
  10. 【职场】程序员摆地摊都能月入过万,是真的吗?