jayvdb / apimock-rs

API mock Server generating HTTP/JSON responses written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

apimock-rs

crates.io Documentation Dependency Status Releases Workflow License

Summary

Mocking helper to develop microservices and APIs. hyper-based HTTP server generating REST responses containing JSON ones. Written in Rust.

With small native binary, just run ./apimock or ./apimock -c apimock.toml to start the server !

Screenshots

Server started to listen:

server starts

curl test result:

server responds

Features

1. Basic

  • GET / POST methods
  • Multiple paths
  • Multiple .json/.json5 files treated as JSON Response
  • based on hyper v1

2. Customization

  • Custom HTTP response codes: 3xx as redirects, and 4xx and 5xx as errors
  • Custom response headers which are reusable
  • Flexible responses with patterns and jsonpath queries. Even with the same API URL path, multiple responses can be returned. See url.paths_patterns
  • Can specify response time on all or each API path

3. Dynamic processing

4. Usability

  • Validates configuration: Missing JSON files, duplicate paths etc.
  • Prints out routing at startup
  • Describes request content on both HTTP headers and body (json or plain text) when verbose log is activated

Reference

Acknowledgements

Depends on:

tokio / hyper / toml / serde / serde_json / json5 / console. In addition, mdbook (as to workflows)

About

API mock Server generating HTTP/JSON responses written in Rust

License:ISC License


Languages

Language:Rust 100.0%