1.什么是REST?
REST是一种建筑风格,由Roy Fielding于2000年在其博士学位论文中提出。
在REST体系结构样式中,客户端和服务器通过使用标准化的接口和协议来交换资源的表示形式。’特定于协议,但是当人们谈论REST时,通常指基于HTTP的REST。
2.什么是Restful Web服务?
用Web服务的术语来说,代表性状态转移(REST)是一种无状态的客户端-服务器体系结构,其中Web服务被视为资源,并且可以通过其URI进行标识。 Web服务客户端使用该URI来访问资源。
它由提供访问资源的REST服务器和访问和修改REST资源的REST客户端两个组件组成。
3. 休息 ful Web服务的重要功能是什么?
休息 ful Web服务的一些重要功能包括:
通过URI识别资源:资源由其URI(通常是互联网上的链接)标识。因此,客户端可以使用资源的URI直接访问RESTful Web服务(就像您将网站地址放在浏览器的地址栏中,并以某种表示形式作为响应一样)。
统一的界面:使用一组固定的创建,读取,更新和删除操作对资源进行操作:PUT,GET,POST和DELETE。
客户端服务器:明确的分离问题是此约束背后的原因。将客户端和服务器之间的关注点分开有助于提高客户端的可移植性和服务器组件的可伸缩性。
无状态:从客户端到服务器的每个请求都必须包含理解该请求所需的所有信息,并且不能利用服务器上存储的任何上下文。
快取 :为了提高网络效率,响应必须能够被标记为可缓存或不可缓存。
命名资源 –系统由使用URL命名的资源组成。
互连的资源表示 –资源的表示使用URL互连,从而使客户端能够从一种状态进入另一种状态。
分层组件 –可以在客户端和资源之间插入诸如代理服务器,缓存服务器,网关等之类的中介,以支持性能,安全性等。
自我描述信息:资源与它们的表示分离,因此可以以多种格式访问其内容,例如HTML,XML,纯文本,PDF,JPEG,JSON等。
4. 休息 ful Web服务中可以使用哪些HTTP方法?
RESTful Web服务对它们执行的操作使用HTTP协议方法。
一些重要的方法是:
GET: 它定义了无副作用的资源读取访问权限,该操作是幂等的,即可以多次应用而不会更改结果
放置: 它通常用于更新资源。它也必须是幂等的。
删除: 它删除资源。这些操作是幂等的,即它们可以重复执行而不会导致不同的结果。
邮政: 它用于创建新资源。它不是幂等的。
5.幂等是什么意思,哪个HTTP方法是幂等的?
幂等意味着多个成功请求的结果在初始应用后不会更改资源状态
例如:Delete是幂等方法,因为当您第一次使用delete时,它将删除资源(初始应用程序),但是在那之后,所有其他请求都将没有结果,因为资源已被删除。获取,放置和删除是HTTP幂等方法。
6. Post和Put Http方法之间有什么区别?
邮政:它用于创建新资源。它不是幂等的。
放置: 它通常用于更新资源。它是幂等的。
幂等意味着多个成功请求的结果在初始应用后不会更改资源状态
7.如果资源由多个客户端共享,会发生什么?您是否需要使它显式线程安全?
为每个请求创建新的资源实例,因此您不必’需要实现线程安全或同步辅助。默认情况下,它是线程安全的。
8.什么是JAX-RS?
RESTful Web服务的Java API(JAX-RS)是开发人员REST服务的API。 JAX-RS是Java EE6的一部分,使开发人员可以轻松开发REST Web应用程序。
9.您了解哪些REST框架,哪些可用于创建Restful Web服务?
有多个Rest框架可用于创建Restful Web服务,例如
- 泽西岛
- 高枕无忧
- 休息 let
- CFX
- 弹簧 休息 Web服务
10.您用于创建Restful Web服务的一些重要注释是什么?
@Path: 这用于在类级别或方法级别设置URI的路径
@ GET,@ POST,@ PUT,@ DELETE: 有注释对应于HTTP方法
@Produces(MediaType.TEXT_XML [,more-types]):@Produces定义由方法传递哪种MIME类型
@PathParam: 用于将URL中的值注入到方法参数中。
@消费(MediaType.TEXT_XML):@Cosumes定义该方法将使用哪种MIME类型。
11.是否可以使用get方法创建资源而不是发布?
不,Get应该仅用于资源检索,而不能用于资源创建。
12.``测试Restful Web服务的方法是什么?
您需要一个平稳的客户端来测试平稳的Web服务。您可以使用:
- Chrome浏览器的邮递员
- Firefox的海报
您可能还喜欢: