jserver
Rust 編寫的 json 接口和靜態(tài)文件服務(wù)器
靈感來(lái)自 typicode 采用 nodejs 編寫的 json-server
30秒零代碼實(shí)現(xiàn)模擬全功能 REST 接口(真的)
為前端開發(fā)者傾情打造的快速原型和模擬測(cè)試工具。
開始使用
安裝 JServer
cargo build --release
cp target/release/jserver /usr/bin/
創(chuàng)建一個(gè)data.json文件,準(zhǔn)備一些數(shù)據(jù)
啟動(dòng) JServer
jserver
現(xiàn)在你可以直接訪問(wèn)http://localhost:2901/api/posts/1,獲得數(shù)據(jù)
{ "id": 1, "title": "jserver", "author": "jupiter.gao" }
請(qǐng)求時(shí),你需要知道:
當(dāng)你發(fā)送 POST, PUT, PATCH 或 DELETE 請(qǐng)求時(shí),修改的數(shù)據(jù)將會(huì)自動(dòng)保存到data.json,并發(fā)調(diào)用時(shí)保存也是安全的。
請(qǐng)求體應(yīng)該是合法的 JSON 對(duì)象或單個(gè)值。(比如{"name": "Foobar"}"test string"83.01)
唯一標(biāo)識(shí)(默認(rèn)為id)是不可修改的。PUT 或 PATCH 請(qǐng)求中的任何id值都會(huì)被忽略。只有 POST 請(qǐng)求中的id會(huì)使用,不允許重復(fù)的id。
POST, PUT 或 PATCH 請(qǐng)求頭應(yīng)該指定Content-Type: application/json。
路由
根據(jù)之前的data.json文件,可以使用以下路由請(qǐng)求接口。
數(shù)組 路由
對(duì)象或單值 路由
過(guò)濾器
對(duì)于數(shù)值,可以使用下列后綴_lt,_lte,_gt,_gte分別表示<,?<=,?>,>=。
對(duì)于字符串,使用_like表示包含子字符串,_nlike表示不包含子字符串。
對(duì)于數(shù)組,使用_contains表示包含元素,_ncontains表示不包含元素。 對(duì)于數(shù)值、字符串和布爾值,使用_ne表示!=。
GET /api/posts?title_like=server
GET /api/posts?id_gt=1&id_lt=3
分頁(yè)
使用_page和可選的_size對(duì)返回?cái)?shù)據(jù)進(jìn)行分頁(yè)。
GET /api/posts?_page=7
GET /api/posts?_page=7&_size=20
默認(rèn)每頁(yè)返回 20 項(xiàng),頁(yè)號(hào)從 1 開始計(jì)數(shù)( 0 當(dāng)做 1 處理)。
排序
增加_sort和_order用來(lái)排序。
GET /api/posts?_sort=views&_order=asc
多字段排序時(shí),按下面格式請(qǐng)求:
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ù)。
庫(kù)文件
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文章
3735瀏覽量
113985 -
REST
+關(guān)注
關(guān)注
0文章
32瀏覽量
9422 -
JSON
+關(guān)注
關(guān)注
0文章
119瀏覽量
6981 -
rust語(yǔ)言
+關(guān)注
關(guān)注
0文章
57瀏覽量
3015
原文標(biāo)題:【大家的項(xiàng)目】JServer:用json文件做數(shù)據(jù)存儲(chǔ)的零代碼API測(cè)試服務(wù)器
文章出處:【微信號(hào):Rust語(yǔ)言中文社區(qū),微信公眾號(hào):Rust語(yǔ)言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論