在了解RESTful API之前,先简单讲解一下HTTP method。我们知道在HTTP method常使用的方法有
类似明信片的概念,传递的参数会被别人看见
url: http://localhost:8080/user?id=123&name=Jim
类似於信封的概念,传递的参数不会被看见
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就诞生了!
如何使用:
method | 动作 | 说明 |
---|---|---|
GET | 查询 | 取得一笔资料 |
POST | 新增 | 新增一笔资料 |
PUT | 更新 | 更新一笔资料 |
DELETE | 删除 | 删除一笔资料 |
例如:
阶层路径 | 说明 |
---|---|
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的用途。
符合这三种,就可以称为RESTful API,但这只是一种风格,不是规范,所以在制造API时,不一定要造这个规定。
<<: Day 27 Azure machine learning: Schedule- Azure 为你定期执行任务
>>: Day 14 AWS云端实作起手式第四弹 图文档案与程序码备份与URL重写
再来就是实际建立透过 select 选择的脚位,并建立相关 Firmata 功能。 建立 PWM 控...
延续昨天没做完的议题,今天来把 js & html 补完,让变成一个完整的 Dapp 首先 ...
阿嬷都看得懂的 CSS 收整与 DRY 策略 玫瑰即使换个名字,还是同样芬芳。 -莎士比亚 欢迎各位...
初学阶段对错误处理没什麽感觉(尽管几乎所有程序语言书都有这一章节),写的都是不用维护的小专案、没有真...
做 lint 、 format 或是通过测试,对於程序码的品质维护有很大的帮助,因此在提交代码时,我...