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文章
3728瀏覽量
113704 -
REST
+關注
關注
0文章
32瀏覽量
9407 -
JSON
+關注
關注
0文章
117瀏覽量
6963 -
rust語言
+關注
關注
0文章
57瀏覽量
3009
原文標題:【大家的項目】JServer:用json文件做數據存儲的零代碼API測試服務器
文章出處:【微信號:Rust語言中文社區,微信公眾號:Rust語言中文社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論