JServer:用json文件做数据存储的零代码API测试服务器

电子说

1.3w人已加入

描述

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





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分