开发者社区> 李征> 正文

REST API教程(PHP)

简介: 很高兴有人能看到这篇博客!我希望你已经做好心理准备,在这里我们将从0开始构建REST API。这不是一件简单的事情:我们接下来要做很多事情,不仅仅是coding还包括去理清一些理论知识。但我向你保证,你会为你付出努力而感到高兴。
+关注继续查看

很高兴有人能看到这篇博客!我希望你已经做好心理准备,在这里我们将从0开始构建REST API。这不是一件简单的事情:我们接下来要做很多事情,不仅仅是coding还包括去理清一些理论知识。但我向你保证,你会为你付出努力而感到高兴。

接下来,我们会学习REST的一些理论并遵循 best practices 去开发,但也不会墨守陈规。因为如果你固执于太多的条条框框,就可能会被这些繁文缛节所困扰。构建一个完美的RESTful API是不太可能的,这反而会引起更多的麻烦。

因此,一个友好的API更符合实际,我们会遵循REST的最佳部分,而当我们违规或纠结时会告诉你。我们不会在意那些细节。不,这只不过是在攻击API中那些丑陋的地方,比如如何定义方法以及文档应该保存哪里,为什么等等。

开发项目: Resources and Links

项目?代码大战( Code Battles):一个超级牛逼的网站,程序员与项目进行着殊死搏斗。当你注册之后,你可以创建一个程序员,并为他选择头像。

REST的思想在于资源(resources)。好,我现在说的是资源(resource)!一定要清醒。这对REST是非常重要的,这里醉了的话,你将通不过第二章。表示法(representations)同样如此。

你可以对这个程序员resource进行某些操作,比如充电。基于运气因素,这可能会增加或减少程序员的等级,接下来还可以去战斗,和项目去进行战斗,项目又是一个resource。我们的程序员终究会取得战斗的胜利,战斗同样也是一个resource。

接下来,我将解释下他们明明看起来很自然,而要说他是资源(resource)。

我们项目的计划是创建一个API允许HTTP客户端可以完成上述这些操作甚至更多。但是创建和编辑程序员的请求地址是什么样子?客户端以JSON形式把数据发送给我们,我们是不是也应该以JSON返回数据?我们怎么样验证错误,进行查询的url又如何定义比如程序员列表和程序员详情HTTP,那么HTTP methods 和状态码呢?我们怎么把这些都记录下来呢?客户端怎么知道创建程序员需要哪些字段?通过哪个URL去和项目战斗?

噢,好多。。。所以构建一个可用的,一致的API所涉及的不止是定义一个请求地址,但也正因如此,你在这里,一起继续吧!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【干货】pandas相关工具包
【干货】pandas相关工具包
3 0
Zuul技术分享
ZUUL是Netflix开源的微服务网关,它可以和Eureka、Ribbon、Hystrix等组件配合使用,Zuul组件的核心是一系列的过滤器,这些过滤器可以完成以下功能: 动态路由:动态将请求路由到不同后端集群 压力测试:逐渐增加指向集群的流量,以了解性能 负载分配:为每一种负载类型分配对应容量,并弃用超出限定值的请求 静态响应处理:边缘位置进行响应,避免转发到内部集群 身份认证和安全: 识别每一个资源的验证要求,并拒绝那些不符的请求。Spring Cloud对Zuul进行了整合和增强。 Spring Cloud对Zuul进行了整合和增强
4 0
Node.js 安装和入门
什么是 Node? Node(正式名称 Node.js)是一个开源的、跨平台的运行时环境,有了它,开发人员可以使用 JavaScript 创建各种服务器端工具和应用程序。此运行时主要用于浏览器上下文之外(即可以直接运行于计算机或服务器操作系统上)。据此,该环境省略了一些浏览器专用的 JavaScript API,同时添加了对更传统的 OS API(比如 HTTP 库和文件系统库)的支持。
5 0
Hystrix-开源容错系统(上)
开年第一篇文章来自于京东的小伙伴,希望这篇文章能够帮助大家对熔断和降级有所理解。
5 0
Hystrix-开源容错系统(下)
Hystrix-开源容错系统(下)
4 0
HTTP访问控制(CORS)
跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。
4 0
BTrace 入门教程
很久没发文了,不知道小伙伴们是不是忘记我们了?主要是最近我和znlover在利用业余时间开发一款小程序,一直没时间写文章,小程序目前在内测阶段,在接下来的时间,我们会持续更新文章。在此,给支持我们的读者说声谢谢,感谢你们一直在默默支持我们。
6 0
数据库五章其二第四讲 ——SQL
数据库五章其二第四讲 ——SQL
3 0
+关注
李征
php 老狗
1
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载