jserver
Rust 編寫的 json 接口和靜態(tài)文件服務(wù)器
靈感來自 typicode 采用 nodejs 編寫的 json-server
30秒零代碼實現(xiàn)模擬全功能 REST 接口(真的)
為前端開發(fā)者傾情打造的快速原型和模擬測試工具。
開始使用
安裝 JServer
cargo build --release
cp target/release/jserver /usr/bin/
創(chuàng)建一個data.json文件,準備一些數(shù)據(jù)
啟動 JServer
jserver
現(xiàn)在你可以直接訪問http://localhost:2901/api/posts/1,獲得數(shù)據(jù)
{ "id": 1, "title": "jserver", "author": "jupiter.gao" }
請求時,你需要知道:
當你發(fā)送 POST, PUT, PATCH 或 DELETE 請求時,修改的數(shù)據(jù)將會自動保存到data.json,并發(fā)調(diào)用時保存也是安全的。
請求體應(yīng)該是合法的 JSON 對象或單個值。(比如{"name": "Foobar"}"test string"83.01)
唯一標識(默認為id)是不可修改的。PUT 或 PATCH 請求中的任何id值都會被忽略。只有 POST 請求中的id會使用,不允許重復的id。
POST, PUT 或 PATCH 請求頭應(yīng)該指定Content-Type: application/json。
路由
根據(jù)之前的data.json文件,可以使用以下路由請求接口。
數(shù)組 路由
對象或單值 路由
過濾器
對于數(shù)值,可以使用下列后綴_lt,_lte,_gt,_gte分別表示<,?<=,?>,>=。
對于字符串,使用_like表示包含子字符串,_nlike表示不包含子字符串。
對于數(shù)組,使用_contains表示包含元素,_ncontains表示不包含元素。 對于數(shù)值、字符串和布爾值,使用_ne表示!=。
GET /api/posts?title_like=server
GET /api/posts?id_gt=1&id_lt=3
分頁
使用_page和可選的_size對返回數(shù)據(jù)進行分頁。
GET /api/posts?_page=7
GET /api/posts?_page=7&_size=20
默認每頁返回 20 項,頁號從 1 開始計數(shù)( 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
響應(yīng)頭中包含X-Total-Count用于表示結(jié)果總數(shù)。
庫文件
GET /db
靜態(tài)文件服務(wù)器
你可以使用 JServer 提供靜態(tài)文件服務(wù),如 HTML, JS 和 CSS 文件,只需將文件放在./public目錄即可 或使用--public-path命令行參數(shù)指定其他的靜態(tài)文件目錄。
命令行參數(shù)
許可證
Apache License 2.0
審核編輯:劉清
-
路由器
+關(guān)注
關(guān)注
22文章
3746瀏覽量
114553 -
REST
+關(guān)注
關(guān)注
0文章
33瀏覽量
9452 -
JSON
+關(guān)注
關(guān)注
0文章
119瀏覽量
7019 -
rust語言
+關(guān)注
關(guān)注
0文章
57瀏覽量
3031
原文標題:【大家的項目】JServer:用json文件做數(shù)據(jù)存儲的零代碼API測試服務(wù)器
文章出處:【微信號:Rust語言中文社區(qū),微信公眾號:Rust語言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
cc3200關(guān)于服務(wù)器法打印JSON數(shù)據(jù),什么原因?
如何發(fā)送json格式數(shù)據(jù)至web服務(wù)器?
請問怎么樣用HTTP協(xié)議讀取服務(wù)器數(shù)據(jù)?如何將發(fā)送指令轉(zhuǎn)化成正確的json格式?
使用EsP8266(NodeMCU)連接阿里云服務(wù)器
如何將發(fā)送模塊的HTTP發(fā)布的任何API服務(wù)器
請問STM32是如何向服務(wù)器發(fā)送json格式數(shù)據(jù)的呢
存儲服務(wù)器的作用
什么是零代碼應(yīng)用開發(fā)平臺?它有哪些功能模塊
什么是零代碼開發(fā)
淺談零代碼開發(fā)的價值在哪里
Esp8266(NodeMCU)連接阿里云服務(wù)器
![Esp8266(NodeMCU)連接阿里云<b class='flag-5'>服務(wù)器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
服務(wù)器數(shù)據(jù)恢復—非正常關(guān)機導致服務(wù)器文件丟失的數(shù)據(jù)恢復案例
服務(wù)器數(shù)據(jù)恢復—xfs文件系統(tǒng)服務(wù)器數(shù)據(jù)恢復案例
服務(wù)器數(shù)據(jù)恢復—V7000存儲NTFS文件系統(tǒng)數(shù)據(jù)恢復案例
![<b class='flag-5'>服務(wù)器</b><b class='flag-5'>數(shù)據(jù)</b>恢復—V7000<b class='flag-5'>存儲</b>NTFS<b class='flag-5'>文件</b>系統(tǒng)<b class='flag-5'>數(shù)據(jù)</b>恢復案例](https://file1.elecfans.com/web2/M00/8D/64/wKgaomS6HOGAa4cnAASobP8Fp0c848.png)
評論