Rest

来源:互联网 发布:cg软件手机版 编辑:程序博客网 时间:2024/06/07 15:05
RESTLET:
Reslet:建立Rest与java类之间的映射,提供一个轻量级而全面的框架。它可用于实现任何种类的REST式系统
    目标:提出一个即用于客户端应用又适用于服务端的用用的、统一 的web视图。
    思想:HTTP客户端与HTTP服务器之间的差别,对于架构来说无所谓,一个软件应可以即充当web客户端又充当web服务器,而无需采用两套完全不同的APIs。

一、基于JAX-RS的REST服务
    1.JAX-RS(JSR-311)是一种JAVA API,可是JAVA RESTFUL服务的开发变得迅速而轻松。这个API提供了一种基于注解的模型来描述分布式资源,注解被用来提供资源的未知、资源的表示和可移植的(pluggable)数据绑定架构。
    2.Restlet架构主要是Application和Rsource的概念。程序中可以定义多个Resource,一个Application可以管理多个Resource
解析注解:
@Path("student")执行了uri路径,student路径进来的都会调用StudentResource来处理。
@GET 说明了http的方法是get方法。
@Path("{id}/xml") 每个方法前都有对应path,用来申明对应uri路径。
@Produces("application/xml") 指定返回的数据格式为xml。
@PathParam("id") int id 接受传递进来的id值,其中id为 {id}定义的占位符要一致。

Representation entity:Restlet中全部的接受和返回对象都Representation类的子类。将entity分装为Form对象,就可以提供Form取得POST过来的数据

REST服务的PUT,POST,DELETE方法:
    1、POST方法
        client.post(form.getWebReprensentation())方法,如果是网页上操作的话,就是一个标准的post方法
        Representation entity:Restlet中全部的接受和返回对象都Representation类的子类。将entity分装为Form对象。就可以通过Form取得Post过来的数据
    2、PUT方法
        PUT方法用来更新一个Student对象,和上面的POST方法类似。需要注意的地方,如果是通过restlet客户端接口来调用的话,必须使用client.put(form.getWebRepresentation())方法
    3、DELETE方法
        与上面的一样

总结:
    GET、PUT、POST、DELETE 四个rest的基本操作。其中要注意的是,通过GET、DELETE 来操作的话,如果是调用Restlet客户端,是不传递Representation entity的,直接通过uri的占位符来传递id来操作。REST调用接口通过标准的HTTP接口来实现,Restlet返回的标准的xml、json格式。实现了跨客户端的调用

0 0