基于AdonisJs的Restful API基础构件, AdonisJs中文网: https://adonis-china.orgjavascript
cnpm install --save adonis-rest
java
Tips: 请确保你的/app/Model/
目录里有一些模型文件. 若是没有的话能够用 ./ace make:model News
来建立一个新闻模型git
/app/Http/routes.jsgithub
Route.put('/api/:resource', 'RestController.update') //可选 Route.resource('/api/:resource', 'RestController')
Create
/app/Http/Controllers/RestController.js
npm
'use strict' const BaseRestController = require('adonis-rest') class RestController extends BaseRestController{ } module.exports = RestController
就这样,全部模型的Restful接口就能够访问了。api
Base uri:
http://localhost:3333/api
数组
请求方法 | URL | 描述 |
---|---|---|
GET | /news | 获取新闻列表 |
POST | /news | 获取一条新闻 |
PUT/PATCH | /news/:id | 修改一条新闻 |
DELETE | /news/:id | 删除一条新闻 |
/news
获取全部新闻app
参数名 | 示例值 | 描述 |
---|---|---|
pagination | 1 | 获取包含分页信息的数据,不然获取扁平数组,不过你仍然能够经过headers 来获取分页信息 |
query | {"user_id": 1} | 查询条件,也能够用 filter 或 where |
page | 1 | 当前页 |
perPage | 10 | 每页显示数量,也能够用 limit |
offset | 10 | 跳过数量,也能够用 skip |
fields | id,title,created_at | select 的字段 |
orderBy | id | 排序,能够用-id 表示desc (降序) |
X-Pagination-Total-Count
ui
X-Pagination-Page-Count
spa
X-Pagination-Current-Page
X-Pagination-Per-Page
query
字段的格式query={"created_at": "2017-07-07"}
query={"created_at": [">", "2017-07-07"]}
或 <
,<>
等等
query={"created_at": ["between", ["2017-07-01", "2017-07-31"]]}
或 notBetween
query={"user_id": ["in", [1,2,3] ]}
或 notIn
query={"user_id": ["raw", 'user_id IS NULL' ]}
在Issues
里面告诉我