在当今世界,数据起着非常重要的作用。 如此众多的应用程序将各种类型的数据用于不同的操作,所以最重要的方面是应用程序之间的通信。 当应用程序之间可以通信时,数据共享变得容易。
就像在亚洲运行的应用程序向在欧洲运行的应用程序提供数据一样,反之亦然。 在美国托管的Facebook服务器如何能够在亚洲提供Facebook服务? 在世界不同地区托管的众多网站中,如何有可能使用Google帐户验证选项?
上述问题的答案是Web服务。 如下所述,有两种类型的Web服务。
- REST Web服务
- SOAP Web服务
让我们详细讨论REST Web服务。
1.简介
1.1 REST
REST是基于Web标准和HTTP协议的数据传输的体系结构原理。 在REST中,有使用REST服务器托管的资源。 每个资源都会有一个称为URI的唯一ID,并且可以使用REST客户端进行修改和访问。
REST允许以XML,JSON,Text等不同格式表示资源。
1.2 HTTP操作
由于REST支持HTTP协议,因此它允许对资源进行以下操作。
- GET – GET请求用于访问资源,它以所需的格式表示资源。
- POST – POST请求用于更新现有资源。 它也用于创建新资源。 它支持各种格式的资源表示。
- PUT – PUT请求用于通过完全替换现有资源来更新资源。 根据定义,PUT请求是幂等的。
- DELETE – DELETE请求用于删除资源。
在REST Web服务中,我们还有两种不同类型的REST Web服务,如下所述。
- RESTful Web服务
- RESTless Web服务
作为教程的一部分,我们将详细讨论RESTful Web服务。
1.3 RESTful Web服务和JAX-RS
RESTful Web服务是遵循基于REST的体系结构的服务,主要用于网站。 它简单,快速,因为它不受严格的限制,并且消耗的带宽更少。
Java提出了用于根据REST体系结构创建Web服务的编程规范。 该API规范的名称是JAX-RS,它表示RESTful Web服务的Java API。 JAX-RS是Java SE 5的一部分,并成为Java EE 6中Java家族的永久成员。JAX-RS的当前版本为2.1版,于2017年9月发布。
2.注释
让我们讨论一下JAX-RS支持的不同注释和规范。
-
@Path
:-告诉资源类或方法的相对路径。 -
@GET
:-HTTP Get请求,用于获取资源。 -
@PUT
:-HTTP PUT请求,用于创建资源。 -
@POST
:-HTTP POST请求,用于创建或更新资源。 -
@DELETE
:-HTTP DELETE请求,用于删除资源。 -
@HEAD
:-这是HTTP HEAD请求,用于获取方法可用性的状态。 -
@Produces
:-这告诉从Web服务生成的HTTP响应的类型。 例如,APPLICATION / XML,APPLICATION / JSO