DEV Community

nabbisen
nabbisen

Posted on • Edited on

2 1 1

apimock-rs (former json-responder) 1.1: dynamic path resolution

I released json-responder 1.1.0.

GitHub logo nabbisen / apimock-rs

API mock Server generating HTTP/JSON responses written in Rust

apimock-rs

crates.io Documentation Dependency Status Releases Workflow License

Summary

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.

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

This release contains new feature to resolve path dynamically when dyn_data_dir is activated.

It means the server automatically returns .json / .json5 responses under dyn_data_dir.

Supposed that there is:

json-responder-data (as `dyn_data_dir`)
├── a
│   └── b
│       └── c.json5
└── a.json
Enter fullscreen mode Exit fullscreen mode

the responses at requests are:

request path response content
/a a.json
/a/b (HTTP 404)
/a/b/c c.json5

Now you don't have to write in config all paths you want to use in API tests ☺

Top comments (1)

Collapse
 
nabbisen profile image
nabbisen

Renamed to apimock-rs. Now more than returning JSON data.

github.com/nabbisen/apimock-rs

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay