共计 2094 个字符,预计需要花费 6 分钟才能阅读完成。
一、简介
json-server 是一个用于创建快速原型和模拟 API 的工具。它可以在本地运行一个 restful api 服务器,使用 JSON 格式的数据作为后端存储。并可以使用 json-serverr 定义自己的数据,并通过 HTTP 请求与它进行交互,就像与真实的后端 API 一样。
它非常适合前端开发人员进行原型设计和测试,因为可以快速提供一个基本的API,而无需设置和管理完整的后端服务器。只需定义一个JSON文件,它就可以提供一个 restful 风格的 api,支持GET、POST、PUT、DELETE等HTTP请求方法。
二、安装
需要先创建自己的 json 数据。
mkdir -p /home/docker/json-server/ && \
cat > /home/docker/json-server/db.json <<EOF
{
"users": [
{
"id": 1,
"name": "zhangsan",
"age": 18
},
{
"id": 2,
"name": "lisi",
"age": 30
},
{
"id": 3,
"name": "wangwu",
"age": 18
}
],
"address": [
{
"id": 1,
"name": "beijing"
},
{
"id": 1,
"name": "shanghai"
}
]
EOF
为了方便,使用 docker 进行安装,运行如下容器:
docker run -d \
-p 80:80 \
-v /home/docker/json-server/db.json:/data/db.json \
clue/json-server
三、使用
1 查询用户
1.1 简单查询
[root@hostname ~]# curl 'localhost/users'
[
{
"id": 1,
"name": "zhangsan",
"age": 18
},
{
"id": 2,
"name": "lisi",
"age": 30
},
{
"id": 3,
"name": "wangwu",
"age": 18
}
]
1.2 过滤查询
# 精确过滤
[root@hostname ~]# curl 'localhost/users?age=18'
[
{
"id": 1,
"name": "zhangsan",
"age": 18
},
{
"id": 3,
"name": "wangwu",
"age": 18
}
]
# 范围过滤,参数后加 _gte、_lte
[root@hostname ~]# curl 'localhost/users?age_gte=20&age_lte=30'
[
{
"id": 2,
"name": "lisi",
"age": 30
}
]
# 精确过滤不等于,参数后加 _ne
[root@hostname ~]# curl 'localhost/users?age_ne=18'
[
{
"id": 2,
"name": "lisi",
"age": 30
}
]
# 模糊匹配,参数后加 _like
[root@hostname ~]# curl 'localhost/users?name_like=zhang'
[
{
"id": 1,
"name": "zhangsan",
"age": 18
}
]
1.3 分页查询
[root@hostname ~]# curl 'localhost/users?_page=1&_limit=2'
[
{
"id": 1,
"name": "zhangsan",
"age": 18
},
{
"id": 2,
"name": "lisi",
"age": 30
}
]
1.4 排序查询
[root@hostname ~]# curl 'localhost/users?_sort=id&_order=desc'
[
{
"id": 3,
"name": "wangwu",
"age": 18
},
{
"id": 2,
"name": "lisi",
"age": 30
},
{
"id": 1,
"name": "zhangsan",
"age": 18
}
]
1.5 全文搜索
[root@hostname ~]# curl 'localhost/users?q=a'
[
{
"id": 1,
"name": "zhangsan",
"age": 18
},
{
"id": 3,
"name": "wangwu",
"age": 18
}
]
查询用户中,包含 a
字符的结果。
2 新增用户
[root@hostname ~]# curl -X POST -H "Content-Type: application/json" -d '{
"id": 4,
"name": "zhaoliu",
"age": 50,
"33": 33
}' 'http://localhost/users'
使用 POST 请求新增一个用户,数据结构最好与之前的一致,不过不一致也不会有影响。
3 修改用户
[root@hostname ~]# curl -X PUT -H "Content-Type: application/json" -d '{
"id": 4,
"name": "zhaoliu",
"age": 100
}' 'http://localhost/users/4'
这里发送 PUT 请求将 zhaoliu 年龄修改为 100,url 需要指定 id。
4 删除用户
[root@hostname ~]# curl -X DELETE 'http://localhost/users/4'
发送 DELETE 请求删除 id 为 4 的用户。
提醒:本文发布于430天前,文中所关联的信息可能已发生改变,请知悉!
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完