一种标准的模式的格式化URL为
/version/resource/key
例如,映射一个标识为“rasmus”的人
/v1/people/rasmus
安全性:安全的方法,获取资源,不会修改资源如GET
幂等性: 多次调用这个方法和调用一次是等价的
HTTP方法 | 描述 | 安全性 | 幂等性 |
---|---|---|---|
GET | 获取资源 | 是 | 是 |
POST | 创建资源 | 否 | 否 |
PUT | 更新资源 | 否 | 是 |
DELETE | 删除资源 | 否 | 是 |
上表引用:《PHP经典实例》第三版, O’REILLY 出版
HTTP动词 | 描述 |
---|---|
GET | 获取资源 |
POST | 创建资源 |
PUT | 覆盖资源 |
PATCH | 修改资源 |
DELETE | 删除资源 |
OPTIONS | 查询服务器运行使用哪个动词 |
上表总结自:《Laravel 入门与实践》 O’REILLY出版
感觉上书中对PATCH与PUT的区别解释的更加清楚,PUT覆盖资源,PATCH修改资源
HTTP方法 | URI | 描述 |
---|---|---|
POST | path/v1/book | 新增图书信息 |
DELETE | path/v1/book | 删除书籍信息 |
PUT | path/v1/book | 全量更新书籍信息 |
DISPATCH | path/v1/book | 更新书籍部分信息 |
GET | path/v1/book | 获取书籍信息 |
const bookApi = require('../controller/book');
const router = require('koa-router');
let bookUri = '/path/v1/book';
router.post(bookUri, bookApi.addBook);
router.get(bookUri, bookApi.addBook);
router.put(bookUri, bookApi.addBook);
router.delete(bookUri, bookApi.addBook);
module.exports = router;
引用:《现代前端技术解析》,张成文编著。