Restlet+Fastjson 快速构建轻量级Java RESTful Webservice

自己入门Java时做过一个小型RESTful Web Service的项目,这里总结一下。服务的数据交换格式主要采用JSON协议,服务为REST风格,连接采用Http协议,数据库使用MySQL,OR Mapping采用的是Hibernate.  小数据直接用URL传参,配合Restlet
的强大的 URI重写重定向,层级URI路由功能,更是十分的方便。数据大时就是用JSON协议,配合强大的Fastjson,解析起来也是十分迅速和便捷,

主要用的类库:

REST是一种设计风格而不是标准,通常基于使用HTTP、URI、XML、HTML这些现有广泛流行的协议和标准,详见wikipedia.

有一点要注意的是:REST的无状态指的是连接协议,而非应用本身的状态,REST传输会包含应用的所有状态信息,可大幅降低对HTTP连接的重复请求资源消耗。

REST设计:

  • 面向资源的接口设计:现在将网络上的操作实体都作为资源来看待,同时URI的设计也是体现了对于资源的定位设计;
  • 抽象操作为基础的增删改查:Http中的get,put,post,delete分别对应了read,update,create,delete四种操作,实际中get方法和post方法就已经足够使用了,如果仅仅是作为对于资源的操作,抽象成为这四种已经足够了,但是对于现在的一些复杂的业务服务接口设计,未必能够满足;

REST特点:

  • 资源是由URI来指定;
  • 对资源的操作包括获取、创建、修改和删除资源,这些操作正好对应HTTP协议提供的GET、POST、PUT和DELETE方法;
  • 通过操作资源的表现形式来操作资源;
  • 资源的表现形式则是XML或者HTML,取决于读者是机器还是人,是消费web服务的客户软件还是web浏览器。当然也可以是任何其他的格式;

REST要求:

  • 客户端和服务器结构;
  • 连接协议具有无状态性;
  • 能够利用Cache机制增进性能;
  • 层次化的系统;
  • 随需代码 - Javascript (可选);

主要功能代码:

框架的快速上手,先理解概念并掌握主要功能,然后学会配置文件和主要类的使用。

一个框架的功能往往非常之多,经常看到一些框架本身的介绍都能够写成一本厚厚的书。但是实际项目中,要快速掌握主要的功能,需要的功能。往往框架20%的主要功能就足以满足我们80%的需要。

项目里最常用到类就是:ServerResource 和 Application, Router 类。

Application和Router 类:

public class MyApplication extends Application {

	//层级URI和资源绑定
	public Restlet createInboundRoot() {
		Router router = new Router(getContext()); 	// 定义router对象,用于绑定服务器资源
		router.attach("/test", MyResource.class);
		router.attach("/test/{param1}", MyResource.class);
		router.attach("/test/{param1}/{param2}", MyResource.class);
		}
	}
}

ServerResource类:

public class MyResource extends ServerResource{

	@Override
	protected void doInit() throws ResourceException {
		// 初始化,常常初始化属性值,解码URL传过来的参数等;
	};

	@Get
	public Representation fun1() {
		//自己的方法
	}

	@Post
	public Representation fun2(Representation entity){
		//自己的方法
	}
}

当然,项目也使用了很多的servlet, 配合一些其他功能的实现。想要深入使用,还要自己去看官方的Tutorial,去Github上看有没有符合自己需要的开源代码。最后推荐一篇博文:Restlet 开发实例,写的挺详细的。

时间: 2024-12-12 03:04:20

Restlet+Fastjson 快速构建轻量级Java RESTful Webservice的相关文章

在Eclipse中使用Jersey和Tomcat构建RESTful WebService及其调用

在Eclipse中使用Jersey和Tomcat构建RESTful WebService及其调用 RESTful Web 服务简介 REST 在 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一. REST 中最重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识.客户端应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集.RESTful Web 服务是使用 H

基于Bluemix快速构建部署一款Java小程序——微博影响力分析器

一.前言 近年来IT界风云际会,各种新概念如大数据.云平台.虚拟化等,如雨后春笋般层出不穷.而云平台,可以说是近些年来引领时代新潮的边缘概念之一,各大厂商竞相推出各种云产品,抢占云市场高地.近期,IT百年老厂IBM也推出了其花费重金打造的基于CloudFoundry开放标准的云平台Bluemix.本文就旨在从一位普通Java开发者角度,尝鲜Bluemix云平台及其提供的Cloudant服务,快速构建并部署一款Java小程序"微博影响力分析器". 二."微博影响力分析器&quo

Yii2快速构建RESTful Web服务功能简介

Yii2相比Yii1而言,一个重大的改进是内置了功能完备的RESTful支持. 其内置RESTful支持提供了如下功能: 使用ActiveRecord的通用接口来快速构建原型: 应答格式协商(缺省支持 JSON 和 XML): 可定制的对象序列化,支持选择输出哪些列: 请求数据的格式化以及验证错误: 通过HTTP 动词映射实现高效路由: 支持 OPTIONS 和 HEAD 动词: 认证 和 鉴权: 支持 HATEOAS(RESTful的架构约束,超媒体即应用程序状态): 结果缓存,可使用 yii

最好的8个 Java RESTful 框架

过去的每一年,涌现出越来越多的Java框架.就像JavaScript,每个人都认为他们知道一个好的框架的功能应该是怎么样的.连我的老祖母现在也使用 一个我从来没有听说过而且可能永远不会使用的框架.玩笑归玩笑,可以做几乎任何事的臃肿的框架市场已经饱和,,但是如何评判呢?这篇文章旨在提供目前最好的 Java RESTfulful 框架.我只介绍轻量级的产品, 略过了那些臃肿的过度设计的框架.同时,我只想要他们稳定和成熟,提供简单,轻量级的特点.我只在介绍Play frameworks时打破这条规则,

SOAP webserivce 和 RESTful webservice 对比及区别

简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML 的协议,可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME),基于"通用"传输协议是 SOAP的一个优点.它还支持从消息系统到远程过程调用(Remote Procedure Call,RPC)等大量的应用程序.SOAP提供了一系列的标准,如WSRM(WS-Reliable Messaging)形

RESTful WebService入门

RESTful WebService入门 RESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都非常的轻松容易. 下面写一个最简单的Hello World例子,以便对RESTful WebService有个感性认识.因为非常专业理论化的描述RESTful WebService是一件理解起来很痛苦的事情.看看例子就知道个大概了,再看理论就容易理解多了. /** * RESTful

Java RESTful 框架的性能比较

2017-02-03 ImportNew (点击上方公众号,可快速关注) 来源:鸟窝, colobu.com/2015/11/17/Jax-RS-Performance-Comparison/ 如有好文章投稿,请点击 → 这里了解详情 在微服务流行的今天,我们会从纵向和横向分解代码的逻辑,将一些独立的无状态的代码单元实现为微服务,可以将它们发布到一些分布式计算单元或者Docker中,并在性能需要的时候及时地创建更多的服务单元. 微服务是一个概念,并没有规定服务的格式,但是很多厂商和框架都不约而同

RESTful WebService入门(转)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lavasoft.blog.51cto.com/62575/229206 RESTful WebService是比基于SOAP消息的WebService简单的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都是非常的轻松容易. 以下是一个最简单的Hello World例子,以便对RESTful WebService有个感性认识.因为非常专业理论化

Java RESTful Web Service相关概念

原文地址:http://1.liangtao.sinaapp.com/?p=647 接上一篇文章REST|RESTful初步认识:http://1.liangtao.sinaapp.com/?p=639之后,在接下来的了解中也遇到了一些问题,不太懂的Java WebService这一套体系结构,导致对一些技术术语是是而非,对于若干技术,若干规范没有一个整体上的认识.这篇文章即是对Java中RESTful WebService架构相关规范,技术的认识. Web Service 从表明上来看,Web