Day13 跟着官方文件学习Laravel-了解RESTful API

在了解RESTful API之前,先简单讲解一下HTTP method。我们知道在HTTP method常使用的方法有

  • GET
  • POST
  • PUT
  • DELETE
    而再这之中,又以GET、POST最常被使用

GET

类似明信片的概念,传递的参数会被别人看见

url: http://localhost:8080/user?id=123&name=Jim

POST

类似於信封的概念,传递的参数不会被看见

url: http://localhost:8080/user
request body:
{
"id": 123,
"name": "Jim"
}

好,那什麽是RESTful API呢,这不分会分成两段,分别是RESTful及API

什麽是API呢,我个人认为是你提供一个功能让别人使用,那你提供这个功能也必须告诉别人使用的方法。

例如:
/getUsers 是取得所有使用者的资讯,包含姓名,帐号,密码。
/createUser 则是创建一笔user的资料。

但这时後,会发现一个问题,要使用的人不知道要用什麽Http method,要传递什麽资料,回传的格式是什麽等等的疑问。
所以这时候,我们要提供一份文件,去说明整个API使用的方式。

如以下:
取得使用者列表API

Http Request

GET /getUsers

Query Parameters

Name Type Description required
size int 取得几位user yes

Http Response

response body

{
"UserList": [
    {
        "id": 1,
        "name": "Jim",
        "account": "JimChie"
    }
]
}

有了这份文件,我就可以明白这个API如何使用了。可以大大减少沟通的成本。
除了我们自己开发的API,各大网站也有提供我们公开的API使用,例如:youtube、FB等等。

而因为每个人的喜好风格不同,写出来的API也会有所差异,变成说在取得不同人创造的API时,我们就要去习惯不同的文件,不同的使用方法,也会造成开发上的效率下降,这时候,RESTful就诞生了!

RESTful

  • 目的是简化沟通成本
  • API若符合REST风格,那这个API就是RESTful API
  • 只是一种风格,并不是规范

如何使用:

  1. 使用http method表示动作
method 动作 说明
GET 查询 取得一笔资料
POST 新增 新增一笔资料
PUT 更新 更新一笔资料
DELETE 删除 删除一笔资料
  1. 利用url路径描述资料阶层关系

例如:

阶层路径 说明
GET /users 取得所有user
GET /users/1 取得id = 1的user
GET /users/1/posts 取得id = 1的user的所有post
GET /users/1/posts/225 取得id = 1的user的 id = 225的post

透过这种阶层,可以利用路径阐述API的用途。

  1. response body 需回传json或xml格式

符合这三种,就可以称为RESTful API,但这只是一种风格,不是规范,所以在制造API时,不一定要造这个规定。


<<:  Day 27 Azure machine learning: Schedule- Azure 为你定期执行任务

>>:  Day 14 AWS云端实作起手式第四弹 图文档案与程序码备份与URL重写

D18 -「脉冲×宽度×调变」:建立控制组件

再来就是实际建立透过 select 选择的脚位,并建立相关 Firmata 功能。 建立 PWM 控...

[区块链&DAPP介绍 Day26] Dapp 实战 投票系统 - 2

延续昨天没做完的议题,今天来把 js & html 补完,让变成一个完整的 Dapp 首先 ...

[Day 12] 阿嬷都看得懂的 CSS 收整与 DRY 策略

阿嬷都看得懂的 CSS 收整与 DRY 策略 玫瑰即使换个名字,还是同样芬芳。 -莎士比亚 欢迎各位...

15. Error x Exception x Bug Trackers

初学阶段对错误处理没什麽感觉(尽管几乎所有程序语言书都有这一章节),写的都是不用维护的小专案、没有真...

28 - lint-staged - Lint Git Commit 的档案

做 lint 、 format 或是通过测试,对於程序码的品质维护有很大的帮助,因此在提交代码时,我...