天天看點

Spring之路(24)–Spring Restful的來頭

1. Rest是啥

Rest是一種軟體架構設計的風格,注意它并不是一種強制約定。

舉個例子,我們在變量命名是,可以采用駝峰命名法userName,也可以采用全部首字母大寫UserName,也可以采用下劃線分割user_name,也可以采用漢語拼音簡寫風格yhm(使用者名首字母)。

這些不同的寫法,其實本身并沒有優劣之分,但是遵循了不同的設計風格。

OK,那麼Rest是啥風格呢,Rest風格及通過URL位址+HTTP動詞來操作資源進行增删改查等操作。

URL位址不用說了,此處可以了解為web服務的位址。

HTTP動詞就是即為常見的GET,POST,PUT,DELETE。

2. Restful是啥

Rest是一種風格,Restful是指遵循Rest風格的web服務,即web程式提供的遵循Rest風格的API接口。

舉個簡單例子,還是以之前部落格增删改查為例,設計為Resutful即為:

http://127.0.0.1/myblog/blog/1

GET 查詢部落格(id=1)資訊

http://127.0.0.1/myblog/blog

GET 查詢部落格清單資訊

POST 新增部落格

PUT 修改部落格(id=1)資訊

DELETE 删除部落格(id=1)

3. Restful的用途(意義)

那麼Restful這種設計有啥用捏,注意其實它就是一種規範,雖然不強制,但用這種規範的人很多啊,而且很多大廠也在用。

說白了各家公司、各家公司各個開發人員、都有自己的習慣,當然自家開發程式,其實怎麼弄都無所謂了,隻要符合一種規範團隊内共享就行。

但是當你要提供API接口給第三方時,或者與第三方一起開發一個項目時,如果沒有一個規範那溝通成本可太高了。

是以有一個大家共同知道的,都可以去遵守的規範,這個意義就出來了。

而這,就是Restful的意義!

為了避免麻煩,還是建議大家在開發項目的web接口的時候,盡量的遵守Restful規範。

4. 補充說明

還有一點是我也看了一些大牛的部落格和書籍,其實很多人在做項目的時候也不是完全遵循Rest風格的,即便是鼎鼎大名的微信公衆号等産品的開放接口,很多也沒有完全遵循Rest風格。主要是完全遵循的話,有時候确實比較繁瑣。是以後續我隻能說盡量遵循吧,你懂得。

5. 計劃

Spring Restful這一篇遵循之前的慣例,先用xml實作一個Spring Restful執行個體,因為實際上Spring Restful應用也是一個SpringMVC,是以将xml配置改為注解配置的過程與SpringMVC部分介紹的幾乎一緻,是以此處不再單獨講解注解配置Spring Restful的執行個體了。

因為Restful經常會用于第三方接口調用,我們會示範在用戶端使用RestTemplate通路Restful接口。

最後,我們會将之前的部落格項目改為前後端分離的,前端采用Bootstrap+jQuery,後端使用Spring Restful的項目,兄弟們會驚喜的發現,不用JSP,是如此的爽快啊。

PS:前端架構選擇jQuery是因為jQuery大家應該都會吧,還是本着盡可能大家都能成為閱聽人的原則,而且前端這塊我本身學的也不深入。目前工作中用的最多的是vue,後續如果有機會可以跟大家交流下vue的使用。