天天看點

Restlet+Fastjson 快速建構輕量級Java RESTful Webservice

自己入門java時做過一個小型restful web service的項目,這裡總結一下。服務的資料交換格式主要采用,服務為rest風格,連接配接采用http協定,資料庫使用mysql,or mapping采用的是hibernate.  小資料直接用url傳參,配合restlet

的強大的 uri重寫重定向,層級uri路由功能,更是十分的友善。資料大時就是用json協定,配合強大的fastjson,解析起來也是十分迅速和便捷,

,java輕量級rest架構;

,最快的java json parser,功能強大,簡單易用;

,java最常用的or mapping架構;

rest是一種設計風格而不是标準,通常基于使用http、uri、xml、html這些現有廣泛流行的協定和标準,. 

有一點要注意的是:rest的無狀态指的是連接配接協定,而非應用本身的狀态,rest傳輸會包含應用的所有狀态資訊,可大幅降低對http連接配接的重複請求資源消耗。

面向資源的接口設計:現在将網絡上的操作實體都作為資源來看待,同時uri的設計也是展現了對于資源的定位設計;

抽象操作為基礎的增删改查:http中的get,put,post,delete分别對應了read,update,create,delete四種操作,實際中get方法和post方法就已經足夠使用了,如果僅僅是作為對于資源的操作,抽象成為這四種已經足夠了,但是對于現在的一些複雜的業務服務接口設計,未必能夠滿足;

資源是由uri來指定;

對資源的操作包括擷取、建立、修改和删除資源,這些操作正好對應http協定提供的get、post、put和delete方法;

通過操作資源的表現形式來操作資源;

資源的表現形式則是xml或者html,取決于讀者是機器還是人,是消費web服務的客戶軟體還是web浏覽器。當然也可以是任何其他的格式;

用戶端和伺服器結構;

連接配接協定具有無狀态性;

能夠利用cache機制增進性能;

階層化的系統;

随需代碼 - javascript (可選);

架構的快速上手,先了解概念并掌握主要功能,然後學會配置檔案和主要類的使用。

一個架構的功能往往非常之多,經常看到一些架構本身的介紹都能夠寫成一本厚厚的書。但是實際項目中,要快速掌握主要的功能,需要的功能。往往架構20%的主要功能就足以滿足我們80%的需要。

項目裡最常用到類就是:serverresource 和 application, router 類。

application和router 類:

serverresource類:

當然,項目也使用了很多的servlet, 配合一些其他功能的實作。想要深入使用,還要自己去看官方的tutorial,去github上看有沒有符合自己需要的開源代碼。最後推薦一篇博文:,寫的挺詳細的。