#json-response #mocking #testing #http-response #testing-http #https #api-response

bin+lib apimock

用 Rust 编写的生成 HTTP/JSON 响应的 API 模拟服务器

19 个稳定版本

2.6.4 2024 年 7 月 26 日
2.6.3 2024 年 7 月 16 日
2.6.2 2024 年 6 月 28 日
2.6.1 2024 年 5 月 24 日
2.0.4 2024 年 3 月 5 日

Web 编程 中排名 661

Download history 1295/week @ 2024-05-15 525/week @ 2024-05-22 6/week @ 2024-05-29 19/week @ 2024-06-05 8/week @ 2024-06-12 155/week @ 2024-06-26 65/week @ 2024-07-03 58/week @ 2024-07-10 101/week @ 2024-07-17 140/week @ 2024-07-24 20/week @ 2024-07-31

每月下载 290

ISC 许可证

91KB
1K SLoC

apimock-rs

crates.io Documentation Dependency Status Releases Workflow License

概述

用于开发微服务和 API 的模拟辅助工具。基于 hyper 的 HTTP 服务器,生成包含 JSON 响应的 REST 响应。用 Rust 编写。

使用小型本地二进制文件,只需运行 ./apimock./apimock -c apimock.toml 即可启动服务器 !

截图

服务器开始监听

server starts

curl 测试结果

server responds

功能

1. 基础

  • GET / POST 方法
  • 多个 paths
  • 多个 .json/.json5 文件被视为 JSON 响应
  • 基于 hyper v1

2. 自定义

  • 自定义 HTTP 响应代码:3xx 作为重定向,4xx 和 5xx 作为错误
  • 自定义可重用的响应头 headers
  • 具有模式和 jsonpath 查询的灵活响应。即使具有相同的 API URL 路径,也可以返回多个响应。请参阅 url.paths_patterns
  • 可以指定所有或每个 API 路径的响应时间

3. 动态处理

  • 可以通过特定的 HTTP 请求手动在测试中切换数据目录路径,以使 json 响应灵活
  • 使用 dyn_data_dir 进行动态路径解析

4. 易用性

  • 验证配置:缺少 JSON 文件、重复路径等。
  • 启动时打印路由
  • verbose 记录被激活时,在 HTTP 标头和正文中描述请求内容(json 或纯文本)

参考

致谢

依赖项

tokio / hyper / toml / serde / serde_json / json5 / console。此外,mdbook(关于工作流程)

依赖项

约10-20MB
约267K SLoC