jserver
Rust 编写的 json 接口和静态文件服务器
灵感来自 typicode 采用 nodejs 编写的 json-server
30秒零代码实现模拟全功能 REST 接口(真的)
为前端开发者倾情打造的快速原型和模拟测试工具。
开始使用
安装 JServer
cargo build --release
cp target/release/jserver /usr/bin/
创建一个data.json文件,准备一些数据
启动 JServer
jserver
现在你可以直接访问http://localhost:2901/api/posts/1,获得数据
{ "id": 1, "title": "jserver", "author": "jupiter.gao" }
请求时,你需要知道:
当你发送 POST, PUT, PATCH 或 DELETE 请求时,修改的数据将会自动保存到data.json,并发调用时保存也是安全的。
请求体应该是合法的 JSON 对象或单个值。(比如{"name": "Foobar"}"test string"83.01)
唯一标识(默认为id)是不可修改的。PUT 或 PATCH 请求中的任何id值都会被忽略。只有 POST 请求中的id会使用,不允许重复的id。
POST, PUT 或 PATCH 请求头应该指定Content-Type: application/json。
路由
根据之前的data.json文件,可以使用以下路由请求接口。
数组 路由
对象或单值 路由
过滤器
对于数值,可以使用下列后缀_lt,_lte,_gt,_gte分别表示<, <=, >,>=。
对于字符串,使用_like表示包含子字符串,_nlike表示不包含子字符串。
对于数组,使用_contains表示包含元素,_ncontains表示不包含元素。 对于数值、字符串和布尔值,使用_ne表示!=。
GET /api/posts?title_like=server
GET /api/posts?id_gt=1&id_lt=3
分页
使用_page和可选的_size对返回数据进行分页。
GET /api/posts?_page=7
GET /api/posts?_page=7&_size=20
默认每页返回 20 项,页号从 1 开始计数( 0 当做 1 处理)。
排序
增加_sort和_order用来排序。
GET /api/posts?_sort=views&_order=asc
多字段排序时,按下面格式请求:
GET /api/posts?_sort=user,views&_order=desc,asc
切片
增加_start和 (_end或_limit)
GET /api/posts?_start=20&_end=30 GET /api/posts?_start=20&_limit=10
响应头中包含X-Total-Count用于表示结果总数。
库文件
GET /db
静态文件服务器
你可以使用 JServer 提供静态文件服务,如 HTML, JS 和 CSS 文件,只需将文件放在./public目录即可 或使用--public-path命令行参数指定其他的静态文件目录。
命令行参数
许可证
Apache License 2.0
审核编辑:刘清
-
路由器
+关注
关注
22文章
3732浏览量
113764 -
REST
+关注
关注
0文章
32浏览量
9407 -
JSON
+关注
关注
0文章
117浏览量
6964 -
rust语言
+关注
关注
0文章
57浏览量
3009
原文标题:【大家的项目】JServer:用json文件做数据存储的零代码API测试服务器
文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论