HTTP server generating REST/JSON responses. Aims to be mocking helper to develop microservices and APIs. Written in Rust and based on hyper.
Run ./apimock
or ./apimock -c apimock.toml
to start the server. It is single small native binary. Multiple platforms are supported and no installation is required.
Server started to listen:
curl
test result:
- GET / POST methods
- Multiple
paths
- Multiple .json/.json5 files treated as JSON Response
- based on hyper v1
- 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
- Can switch data directory paths manually in testing via specific HTTP request to make json responses flexible
- Dynamic path resolution with
dyn_data_dir
- 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
Depends on:
tokio / hyper / toml / serde / serde_json / json5 / console. In addition, mdbook (as to workflows)