Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

adonis-rest - 基于AdonisJs的Restful API基础构件

$
0
0

adonis-rest

基于AdonisJs的Restful API基础构件, AdonisJs中文网: https://adonis-china.org

https://github.com/wxs77577/adonis-rest

file

安装

  1. cnpm install --save adonis-rest

准备

Tips: 请确保你的/app/Model/目录里有一些模型文件. 如果没有的话可以用 ./ace make:model News来创建一个新闻模型

/app/Http/routes.js

Route.put('/api/:resource', 'RestController.update') //可选
Route.resource('/api/:resource', 'RestController')

Create /app/Http/Controllers/RestController.js

'use strict'

const BaseRestController = require('adonis-rest')

class RestController  extends BaseRestController{

}

module.exports = RestController

就这样,所有模型的Restful接口就可以访问了。

文档

Base uri: http://localhost:3333/api

请求方法URL描述
GET/news获取新闻列表
POST/news获取一条新闻
PUT/PATCH/news/:id修改一条新闻
DELETE/news/:id删除一条新闻

GET /news

获取所有新闻

URL查询参数

参数名示例值描述
pagination1获取包含分页信息的数据,否则获取扁平数组,不过你仍然可以通过headers来获取分页信息
query{“user_id”: 1}查询条件,也可以用 filterwhere
page1当前页
perPage10每页显示数量,也可以用 limit
offset10跳过数量,也可以用 skip
fieldsid,title,created_atselect的字段
orderByid排序,可以用-id表示desc(降序)

Headers中的分页信息字段

  • X-Pagination-Total-Count
  • X-Pagination-Page-Count
  • 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里面告诉我


Viewing all articles
Browse latest Browse all 14821

Trending Articles