Crates.io | mocks |
lib.rs | mocks |
version | 0.3.7 |
source | src |
created_at | 2024-09-10 16:37:52.319533 |
updated_at | 2024-10-18 02:19:12.305286 |
description | Get a mock REST APIs with zero coding within seconds. |
homepage | https://github.com/mocks-rs/mocks |
repository | https://github.com/mocks-rs/mocks |
max_upload_size | |
id | 1370606 |
size | 90,865 |
Get a mock REST APIs with zero coding within seconds.
If you're a macOS Homebrew user, then you can install mocks
from homebrew-tap.
brew install mocks-rs/tap/mocks
If you're a Rust programmer, mocks
can be installed with cargo
.
cargo install mocks
Create a storage.json
.
{
"posts": [
{ "id": "01J7BAKH37HPG116ZRRFKHBDGB", "title": "first post", "views": 100 },
{ "id": "01J7BAKH37GE8B688PT4RC7TP4", "title": "second post", "views": 10 }
],
"comments": [
{ "id": 1, "text": "a comment", "post_id": "01J7BAKH37HPG116ZRRFKHBDGB" },
{ "id": 2, "text": "another comment", "post_id": "01J7BAKH37HPG116ZRRFKHBDGB" }
],
"profile": { "id": "01J7BAQE1GMD78FN3J0FJCNS8T", "name": "mocks" },
"friends": []
}
Pass it to mocks
CLI.
mocks storage.json
mocks -H 127.0.0.1 -p 8080 storage.json
Get a REST API with curl
.
% curl http://localhost:3000/posts/01J7BAKH37HPG116ZRRFKHBDGB
{"id":"01J7BAKH37HPG116ZRRFKHBDGB","title":"first post","views":100}
Based on the example storage.json, you'll get the following routes:
GET /posts
GET /posts/:id
POST /posts
PUT /posts/:id
PATCH /posts/:id
DELETE /posts/:id
# Same for comments and friends
GET /profile
PUT /profile
PATCH /profile
GET /_hc
# Health check endpoint returns a 204 response.
Run mocks --help
for a list of options.
To help with debugging, you can enable a special feature that saves mock data to a separate file.
To do this, simply set the environment variable called MOCKS_DEBUG_OVERWRITTEN_FILE
.
MOCKS_DEBUG_OVERWRITTEN_FILE=storage.debug.json cargo run -- storage.json
We recommend specifying the filename as *.debug.json
. For more details, please check .gitignore file.
This project is licensed under the MIT license.