0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_wN0SrCdH 来源:Rust语言中文社区 2023-07-19 16:31 次阅读

jserver

Rust 编写的 json 接口和静态文件服务器

灵感来自 typicode 采用 nodejs 编写的 json-server

30秒零代码实现模拟全功能 REST 接口(真的)

为前端开发者倾情打造的快速原型和模拟测试工具。

开始使用

安装 JServer

cargo build --release

cp target/release/jserver /usr/bin/

创建一个data.json文件,准备一些数据

wKgZomS3n5SAOvF-AABI-sANZHc811.jpg

启动 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文件,可以使用以下路由请求接口。

数组 路由

wKgZomS3n7eADVBqAAAviqVpiRc078.jpg

对象或单值 路由

wKgZomS3n8aAZrOHAAAigH34HzI409.jpg

过滤器

wKgZomS3n9aAZfTsAAAbIPofSJQ767.jpg

对于数值,可以使用下列后缀_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命令行参数指定其他的静态文件目录。

wKgZomS3oAqAPsl3AAA1EBvpXPg002.jpg

命令行参数

wKgaomS3oBqAG9MOAABnpgKLCgY710.jpg

许可证

Apache License 2.0





审核编辑:刘清

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

    关注

    22

    文章

    3732

    浏览量

    113764
  • REST
    +关注

    关注

    0

    文章

    32

    浏览量

    9407
  • JSON
    +关注

    关注

    0

    文章

    117

    浏览量

    6964
  • rust语言
    +关注

    关注

    0

    文章

    57

    浏览量

    3009

原文标题:【大家的项目】JServer:用json文件做数据存储的零代码API测试服务器

文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    cc3200关于服务器法打印JSON数据,什么原因?

    cc3200关于服务器法打印JSON数据,什么原因?cc3200连接到AP和服务器都没有问题但是post上传到php,无法打印我的JSON
    发表于 03-31 15:18

    如何发送json格式数据至web服务器

    如题,现需要采用post方法发送json格式数据至web服务器,但一直返回错误。
    发表于 03-08 09:40

    请问怎么样HTTP协议读取服务器数据?如何将发送指令转化成正确的json格式?

    本帖最后由 人间烟火123 于 2018-7-31 17:27 编辑 我想通过LabVIEW中的HTTP协议发送数据服务器,并读取服务器数据。现在我能通过电脑
    发表于 07-31 14:12

    使用EsP8266(NodeMCU)连接阿里云服务器

      使用EsP8266(NodeMCU)连接阿里云服务器,并在服务器控制台点亮板载LED灯,进行数据上传和下传的测试。创建阿里云产品功能定义:先选择编辑草稿,才可以看到最下面的布尔值那
    发表于 11-24 06:23

    如何将发送模块的HTTP发布的任何API服务器

    关联知识STM32Arduino在本文中,我们将学习将SIM32的请求或或90与STM32微信JSON80项目一起使用JSON格式,以及如何将发送模块的HTTP发布的任何API服务器
    发表于 01-12 07:41

    请问STM32是如何向服务器发送json格式数据的呢

    我正在使用 STM32L4R5ZI .Microcontroller 连接调制解调 (sim800c)。这是我们需要包含的库,用于将 json 格式的数据从 STM 控制发送到
    发表于 12-14 07:31

    存储服务器的作用

    本视频主要详细介绍了存储服务器的作用,分别是文件共享、数据备份、网络打印、多媒体文件共享、媒体服务器
    的头像 发表于 01-06 10:12 1.4w次阅读

    什么是代码应用开发平台?它有哪些功能模块

    随着软件应用程序开发技术的不断发展以及软件需求的不断增加,传统单靠手工编写代码的软件开发方式已经没有办法满足市场的需要,现在出现了代码开发平台,无需编写代码就能够完成应用程序的开发,
    发表于 04-08 11:53 1630次阅读

    什么是代码开发

    代码开发平台,无需编写代码就能够完成应用程序的开发。下面一起来了解一下相关的知识吧! 什么是代码开发 真正的
    发表于 05-09 15:54 2685次阅读

    浅谈代码开发的价值在哪里

    随着应用程序开发技术的不断发展,代码开发已经成为未来的重要发展趋势,很多人可能不太相信代码可以完成应用程序的开发,但事实是
    发表于 05-13 15:03 748次阅读

    Esp8266(NodeMCU)连接阿里云服务器

      使用EsP8266(NodeMCU)连接阿里云服务器,并在服务器控制台点亮板载LED灯,进行数据上传和下传的测试。创建阿里云产品功能定义:先选择编辑草稿,才可以看到最下面的布尔值那
    发表于 11-16 10:21 18次下载
    Esp8266(NodeMCU)连接阿里云<b class='flag-5'>服务器</b>

    RA-RTT体验代码点亮LED灯

    介绍如何代码体验点亮LED灯。
    发表于 10-12 12:43 464次阅读
    RA-RTT体验<b class='flag-5'>零</b><b class='flag-5'>代码</b>点亮LED灯

    服务器数据恢复—非正常关机导致服务器文件丢失的数据恢复案例

    服务器数据恢复环境: 某品牌PowerEdge R730服务器+PowerVault MD3200存储,划分若干lun,操作系统版本是centos7,EXT4
    的头像 发表于 01-19 13:42 523次阅读

    服务器数据恢复—xfs文件系统服务器数据恢复案例

    某公司一台服务器,连接了一台存储。该服务器安装linux操作系统,文件系统为xfs。 在运行过程中该服务器出现故障,管理员使用xfs_re
    的头像 发表于 08-19 10:49 294次阅读

    服务器数据恢复—V7000存储NTFS文件系统数据恢复案例

    服务器存储数据恢复环境: 一台挂载在Windows server服务器上的v7000存储存储
    的头像 发表于 10-14 14:03 217次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b>恢复—V7000<b class='flag-5'>存储</b>NTFS<b class='flag-5'>文件</b>系统<b class='flag-5'>数据</b>恢复案例