基於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
裏面告訴我