在看“梁桂钊的博客”的时候,对文中出现的:我们先定义一组简单的RESTful API 接口进行测试这一句话有些疑问。看代码,容易理解,可是对RESTful API 接口实在不解,这个是什么玩意儿?用来干什么的?又逛了逛招聘APP对于Java岗位的要求,熟悉RESTful API优先这句话还挺多!那么,RESTful API是什么呢?
理解这一个概念之前,我看了《RESTful+Web+APIs中文版》一书,文中对REST的定义是“表述性状态传递”。这句话的确不易理解,GET和POST干的好好的,怎么又多了一个玩意儿?
REST Web接口除了GET和POST,还有HEAD、PUT、DELETE、OPTIONS等,为什么多了这种“Rest风格”?因为如今很多系统,既要支持PC又要支持移动设备,又只想写一套后台程序,调用同一套接口,但是基于Http的协议接口,通信数据过于庞大,所以采用JSON格式的传输便开始流行,加之JavaScript对Json的天然支持,简直是完美。说这些,跟RESTful API有什么关系?
早期时,使用POST和GET时,URL是像这种的:update_article.do?id=xxx&date=xxx之类的长篇的&连接变量的风格,如果变量足够,那链接就吓死人,所以渐渐以xxxx/articles/2015/3413之类的优美URL取而代之!
我们看百度百科对于RESTful的定义:RESTful是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。所以,可以简单理解,RESTful API其实是一种API的设计规范(目前最流行的),用于 Web 数据接口的设计。
关于如何设计,可以参考:
http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html
网友评论