restful api design
restful 风格接口设计
restful
Representational State Transfer 表现层状态转换
用资源名词复数表示资源,以HTTP方法表示操作
以公司和员工为例
创建一个公司:
POST /api/v1.0/companies
获取公司列表:
GET /api/v1.0/companies
获取某个公司:
GET /api/v1.0/companies/:id
删除某个公司:
DELETE /api/v1.0/companies/:id
更新某个公司信息:
PUT /api/v1.0/companies/:id
获取公司下的员工们:
GET /api/v1.0/companies/:company_id/employees
创建一个员工:
POST /api/v1.0/companies/:company_id/employees
获取某个员工信息:
GET /api/v1.0/companies/:company_id/employees/:employee_id
删除某个员工信息:
DELETE /api/v1.0/companies/:company_id/employees/:employee_id
更新某个员工信息:
PUT /api/v1.0/companies/:company_id/employees/:employee_id
排序,过滤,分页
排序
可以在GET URL中指定要排序的字段以及顺序GET /api/v1.0/companies?field=created_at&order=desc
过滤
按照 cit和 location过滤GET /api/v1.0/companies?city=北京&location=望京
分页
指定offset和limitGET /api/v1.0/companies?offset=0&limit=100
GET /api/v1.0/companies?offset=99&limit=100