Json-Server 快速搭建Json服务器
Json-server
在不到30秒的时间内获得一个完整的伪REST API 零编码
为需要快速后端原型和模拟的前端开发人员使用
GitHub - typicode/json-server:在不到30秒的时间内获得零编码的完整伪REST API
开始使用
安装 JSON Server
npm install -g json-server
创建一个 db.json 文件写一些数据
{
"posts": [
{ "id": 1, "title": "json-server", "author": "typicode" }
],
"comments": [
{ "id": 1, "body": "some comment", "postId": 1 }
],
"profile": { "name": "typicode" }
}
启动 JSON Server
json-server --watch db.json
现在如果你去http://localhost:3000/posts/1,你会得到
{ "id": 1, "title": "json-server", "author": "typicode" }
另外,在提出请求时,最好知道:
- 如果您请求POST、PUT、PATCH或DELETE,更改将使用lowdb.)自动安全地保存到
db.json。 - 您的请求体JSON应该是对象封闭的,就像GET输出一样。(例如
{“name”:“foobar”})。 - ID值不可更改。PUT或PATCH请求正文中的任何
id值都将被忽略。只有在POST请求中设置的值才会被接受,但前提是尚未采用该值。 - POST、PUT或Patch请求需要包含
Content-Type:Application/json头部,才能在请求Body中使用JSON。否则,它将返回2XX状态代码,但不会对数据进行更改。
路由
基于前面的db.json文件,这里是所有的默认路由。您也可以使用--routes添加[其他路由]。
多条路线
GET /posts
GET /posts/1
POST /posts
PUT /posts/1
PATCH /posts/1
DELETE /posts/1
单条路线
GET /profile
POST /profile
PUT /profile
PATCH /profile
过滤 / 筛选
使用.访问深层属性
GET /posts?title=json-server&author=typicode
GET /posts?id=1&id=2
GET /comments?author.name=typicode
分页
可以使用_page,也可以选择_limit对返回的数据进行分页。
在Link头中,您将获得first、previst、next和last链接。
GET /posts?_page=7
GET /posts?_page=7&_limit=20
10 items are returned by default
排序
添加_sort和_order(默认升序)
GET /posts?_sort=views&_order=asc
GET /posts/1/comments?_sort=votes&_order=asc
对于多个字段,请使用以下格式:
GET /posts?_sort=user,views&_order=desc,asc
切片
添加_start和_end或_limit(返回中包含一个X-Total-Count头部)
GET /posts?_start=20&_end=30
GET /posts/1/comments?_start=20&_end=30
GET /posts/1/comments?_start=20&_limit=10
Works exactly as Array.slice (i.e. _start is inclusive and _end exclusive)
运算符
添加_gte或_lte获取范围
GET /posts?views_gte=10&views_lte=20
添加_ne以排除值
GET /posts?id_ne=1
添加' _like '到过滤器(支持RegExp)
GET /posts?title_like=server
全文搜索
添加q
GET /posts?q=internet
关系
若要包含子资源,请添加_embed
GET /posts?_embed=comments
GET /posts/1?_embed=comments
要包含父资源,请添加_expand
GET /comments?_expand=post
GET /comments/1?_expand=post
获取或创建嵌套资源(默认为一个级别,添加自定义routes了解更多信息])
GET /posts/1/comments
POST /posts/1/comments
数据库
GET /db
主页
返回默认索引文件或服务/public目录
GET /

浙公网安备 33010602011771号