快速搭建网站的方法,河北住房和城乡建设厅网站卡,毕设做网站 方面的论文,昆明网络推广优化文章目录 1. 为什么出现2. 拥有哪些优势3. Spring中的应用4. spring-boot-starter-data-rest总结 REST#xff08;Representational State Transfer#xff09;是一种软件架构风格#xff0c;通常用于设计网络应用程序的服务接口。RESTful 服务是基于 REST 原则构建的网络服… 文章目录 1. 为什么出现2. 拥有哪些优势3. Spring中的应用4. spring-boot-starter-data-rest总结 RESTRepresentational State Transfer是一种软件架构风格通常用于设计网络应用程序的服务接口。RESTful 服务是基于 REST 原则构建的网络服务。 1. 为什么出现
在 REST 服务出现之前 SOAPCORBARPCRMI 这些服务架构和通信协议被广泛使用。 SOAPSimple Object Access Protocol SOAP 是一种基于 XML 的协议用于在网络上进行通信。它定义了一种规范的消息格式和一组规则用于在分布式环境中交换结构化信息。SOAP 支持在不同操作系统和编程语言之间进行通信但它的消息格式较为繁琐相对复杂且常常需要较多的开销。 CORBACommon Object Request Broker Architecture CORBA 是一种面向对象的分布式计算系统的标准定义了一组规范使得不同编程语言和平台上的对象能够相互通信。CORBA 通常使用 IIOPInternet Inter-ORB Protocol协议进行通信但 CORBA 的实现通常比较庞大复杂度高。 RPCRemote Procedure Call RPC 是一种允许程序在网络上请求服务而不必了解底层通信细节的协议。RPC 框架允许远程计算机上的程序像调用本地程序一样调用远程服务。然而RPC 的实现通常依赖于特定的编程语言和平台缺乏统一的标准。 RMIRemote Method Invocation RMI 是 Java 平台上用于实现分布式计算的一种机制。它允许在 Java 虚拟机上运行的对象调用在另一个 Java 虚拟机上运行的对象的方法。然而RMI 主要面向 Java 环境不具备与其他平台和语言的轻松集成。
以上这些它们通常较为复杂需要开发者处理许多细节且缺乏一种统一、简单、轻量级的设计理念。 正是因为它们有着这些不足就有了 REST 的出现来弥补这些不足提供了一种更加简单、灵活、基于标准的通信方式使得各种应用和服务能够更加轻松地相互协作。
2. 拥有哪些优势 简单性和可读性 REST 服务的设计理念使得 API 更加直观易于理解并且可以快速上手 可伸缩性 由于 REST 服务是无状态的服务器不需要维护大量的会话信息所以更容易扩展提高了可伸缩性 通用性 REST 服务使用标准的 HTTP 协议因此通用性非常好使得不同技术栈的系统能够轻松地集成 易于缓存 REST 服务允许响应被缓存在响应中设置合适的缓存标识减轻服务器的负担提高客户端访问速度
3. Spring中的应用
Spring Framework 对 REST 服务提供了丰富的支持使得创建和使用 REST 服务变得更加简单和灵活常用的有下图这些 此处只做简单的介绍下一篇 【Spring实战】18 Spring中REST应用详细介绍 将会结合代码逐一详细说明 RestController 用于标识一个类是RESTful服务的控制器结合 Controller 和 ResponseBody 的功能 表示这个类的所有方法都返回 JSON/XML 等数据而不是视图 RequestMapping 用于映射 HTTP 请求的 URL 到控制器的方法 , 可以用在类级别和方法级别 ResponseBody 用于将方法的返回值直接写入 HTTP 响应体而不是返回视图 RequestBody 用于将 HTTP 请求的内容如 JSON映射到方法的参数上 RequestParam 用于将 HTTP 请求参数映射到方法的参数上 PathVariable 用于从 URL 模板中提取变量值用于将 URL 中的部分作为方法参数传递 ResponseStatus 用于设置 HTTP 响应的状态码 RequestHeader 用于将 HTTP 请求头映射到方法的参数上 GetMapping 用于将 HTTP 请求方法映射到控制器的 GET 方法 PostMapping 用于将 HTTP 请求方法映射到控制器的 POST 方法 DeleteMapping 用于将 HTTP 请求方法映射到控制器的 DELETE 方法 PutMapping 用于将 HTTP 请求方法映射到控制器的 PUT 方法 PatchMapping 用于将 HTTP 请求方法映射到控制器的 PATCH 方法 ExceptionHandler 用于处理控制器方法中抛出的异常返回自定义的错误响应
这些注解是在 Spring 中创建和使用 REST 服务时常用到的一些关键注解。通过合理地使用这些注解可以轻松构建出清晰、灵活的 RESTful API。
4. spring-boot-starter-data-rest
Spring Boot 框架中的一个 Starter用于简化和加速 RESTful 风格的数据暴露和操作。使用它可以使得开发者更加快速地创建具有标准化 RESTful API 的应用尤其适用于简单的数据模型和操作减少了手动编写 API 控制器的工作提高了开发效率。尤其是针对与 Spring Data JPAJava Persistence API集成的应用。
总结
总体而言REST 服务的出现是为了提供一种简单、灵活、可伸缩的分布式系统架构使得各种应用和服务能够更加轻松地相互通信和协作。RESTful 架构的原则已经成为构建许多现代 Web 服务和 API 的基础。