最近由于
工作需要,研究了一下REST。
目前REST已经成为了网络社区里的流行名词。那REST又是什么那?
REST - Representational State Transfer, 诞生于Roy
Fielding(作为HTTP协议规范的主要制定者之一)的
2000年博士论文REST的明确
定义。
简单来说REST是一种基于Resource State的Web服务访问架构,目前REST作为网络应用的设计策略已经被广泛使用。目前
Amazon ,
eBay,
Yahoo等都提供了REST的服务接口调用。
REST作为一组构架策略的描述,这个词汇也经常被用来描述一些简单用HTTP传输的XML的而没有使用类似于SOAP接口实现。
REST的设计核心就是抓住了Web成功的要素。REST的特点有:
Client-Server 是一个以pull为基础的交互构架,服务的使用者采用pull方式获取信息
Layered components 这样可以使得所有的中间层透明化,例如代理服务器,缓存服务器,网关等都可以被安插在客户端和资源之间,来提高性能保证安全
Stateless
每一次客户端到服务器端的请求信息完整,并保证请求能够被充分理解。作为一种Stateless的交互,REST可以给我们带来以下的好处是客户端可以变
得非常简单,服务端的扩展性大大加强, 我们可以将一些简单的服务组合成为一个更大的服务。
Cache 为了提高网络相应效率,需要提供可以使用缓存后者不使用缓存的标记
Uniform interface 所有的资源都可以通过一个通用的接口来访问 (例如 HTTP GET, POST, PUT, DELETE)
Named resoureces 系统是由那些能够使用URL来描述的资源所组成。
我们知道HTTP提供了(GET,POST,DELET,这些动作)的描述,
我们可以通过这些方法来实现对特定资源(URI)的增删改查的操作。我们可以声称一个网络应用是RESTful如果我们能够通过HTTP
GET请求来获取信息,使用HTTP POST来更新信息。
如何实现RESTful web service。
http://www.xfront.com/REST-Web-Services.html
其它相关资源
http://c2.com/cgi/wiki?RestArchitecturalStyle
http://rest.blueoxen.net/cgi-bin/wiki.pl
REST的教程
http://rest.blueoxen.net/cgi-bin/wiki.pl?BenjaminsRESTTutorial
分享到:
相关推荐
综上所述,"REST相关jar包"可能包含了上述提到的库,如Jersey、Jackson、Spring Boot等,它们共同构成了RESTful服务的基础架构。了解这些库的作用和使用方式,对于开发、调试和维护REST接口至关重要。通过熟练掌握...
标题中的"rest相关jar包.7z"表明这是一个与REST(Representational State Transfer)相关的Java库集合,被压缩成.7z格式的文件。REST是一种软件架构风格,主要用于Web服务设计,强调简洁、无状态和可缓存的交互。这...
首先,我们需要创建一个`@Controller`注解的类,该类将处理所有与REST相关的请求。例如: ```java @Controller @RequestMapping("/api") public class RestController { // ... } ``` 这里的`/api`是REST服务的...
REST(Representational State Transfer,表述性状态转移)是一种软件架构风格,主要用于Web服务设计,以实现高效、分布式的系统。RESTful API设计是现代互联网应用和API开发中的主流方法,它强调通过HTTP协议来操作...
除了上述基础内容外,Rails框架还支持其他一些与REST相关的特性,包括但不限于: - **AJAX集成**:利用JavaScript和Ajax技术来增强用户体验,使得RESTful API可以与现代前端技术无缝结合。 - **RESTful应用测试**:...
该平台能实现基于ws的聊天室,可以将聊天的信息调用rest api存储到数据库,可以通过网页访问该平台提供的rest api后再进行ws的相关操作,也就是说把ws的聊天服务端与rest的调用以及rest的网站发布整合到了一起。...
1. 引入SuperMap iClient库:在Flex项目中,我们需要导入SuperMap iClient的相关库,以便使用其提供的地图操作和REST服务调用功能。 2. 初始化地图容器:创建一个地图容器,设置地图的基本属性,如初始位置、比例尺...
对于REST接口,我们需要创建一个或多个TWebModule,每个模块对应一个或一组相关的REST服务。在TWebModule中,添加TRESTServer和TRESTRequestHandler组件,它们负责处理HTTP请求和响应。 然后,配置TRESTServer组件...
5)打开http://localhost:8080/RestApplication/update.jsp页面,输入相关信息,提交;如果提交失败,请检查页面表单的 action属性值是否正确; 6)重复4),查看信息被修改的情况; 3、使用Component绑定多个...
在标题和描述中提到的“dubbo rest rpc相关jar包”是指Dubbo支持RESTful API调用的扩展模块,这使得Dubbo能够与更广泛的Web服务和微服务生态系统集成。 首先,我们来详细了解一下`dubbo-2.8.4.jar`。这是Dubbo的...
这部分内容涉及到了在序列化过程中如何设置超链接,使用HyperlinkedModelSerializer来创建可以导航到相关对象的API。 最后,在ViewSets和Routers章节中,介绍了如何使用路由器(Routers)来自动处理URL配置,这些...
在Maven项目中,你会在pom.xml文件中看到jersey相关的依赖,如`jersey-container-servlet-core`、`jersey-media-multipart`等,这些依赖用于提供HTTP容器集成和处理不同媒体类型的能力。 接下来,查看项目中的源...
2. **dubbox配置**:在项目的配置文件中,会有dubbox的相关配置,比如服务提供者和服务消费者的定义,以及REST服务的配置。 3. **REST接口实现**:在Java代码中,会看到使用dubbox提供的API实现的REST服务,这些...
5. HATEOAS(Hypermedia as the Engine of Application State):这是REST的一个重要特性,允许服务返回包含链接的资源,使客户端能发现和导航到其他相关资源。 在"REST WebService简单应用"这个主题中,可能涉及的...
3. **任务管理**:任务是流程中的一个重要概念,REST API提供了处理任务的接口,包括获取任务列表,领取任务,完成任务,以及设置任务相关的变量。 4. **身份管理**: Activiti REST API也支持用户和组的管理,包括...
Flowable REST API提供了丰富的端点,用于创建、读取、更新和删除(CRUD)各种流程相关的实体,如任务、流程实例、模型、事件等。这些API使用JSON格式传输数据,使得与其他系统集成变得更加便捷。Spring Boot的应用...
Spring MVC或Spring Boot提供了方便的REST服务开发支持,相关的JARs包括spring-web、spring-webmvc等。 7. **HTTP客户端库**:如Apache HttpClient或OkHttp,这些库提供了发送HTTP请求的功能,便于进行单元测试或...
3. **拦截器配置**:可能需要为RESTful请求配置不同的拦截器栈,以便它们可以处理身份验证、授权和其他与RESTful服务相关的逻辑。 4. **结果类型**:对于RESTful请求,可能需要定义或扩展现有的Result类型,以便...
本文将深入探讨REST API接口测试工具的相关知识。 一、REST API接口测试的重要性 1. 确保功能正确性:测试工具可以帮助开发者验证每个端点(endpoint)的功能是否按照预期工作,包括GET、POST、PUT、DELETE等HTTP...