自己入門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上看有沒有符合自己需要的開源代碼。最後推薦一篇博文:,寫的挺詳細的。