Demo |
nightly builds |
Example |
wiki
There is a most simple mock server use file organization, just drag your file, and rm your filename,and u got a server;
startup your download application,and it will auto create directories named static
,apis
, and then will start a
server,
Place the folder that requires Mock in the apis directory, and then start the service, where the api rule is, the
directory determines the prefix,[api_suffix]. [api_method] .json
, where api_suffix represents the api path, api_method represents the interception method, and
supports get| post| patch| head| delete| option| put
, this is just to keep the results consistent. Index.json is automatically intercepted here as/
.
- Returns static JSON data
- Returns based on interface information
- Generated based on the Mock template, see http://mockjs.com/examples.html Here, a {{}} writing similar to Vue is supported, and the replaced result is converted using Mockjs, which means that random data is generated through json. We provided the 'cookie', 'user-agent', 'headers', 'body', 'route', 'query', ' content-type',just like {{headers.contentType}} or {{query.key1}}
PS D:\projects\mock_server> tree .\example\ /f
│ .simple-mock.yaml
│ [SimpleMockServer] your download application
├─apis
│ └─api
│ │ index.delete.json
│ │ index.get.json
│ │ index.json
│ │ index.option.json
│ │ index.patch.json
│ │ index.post.json
│ │ querybyentity.json
│ │
│ └─index
│ test.json
│
├─plugins
│ └─peer-stream
│ │ index.js
│ │ package.json
│ │ pnpm-lock.yaml
│ └─node_modules
└─static
bootstrap.min.css
index.html
jquery.min.js
normalize.css
┌───────┬───────────────────┬────────┬─────────────────────────────┐
│ index │ url │ method │ file │
├───────┼───────────────────┼────────┼─────────────────────────────┤
│ 1 │ api/ │ delete │ apis\api\index.delete.json │
│ 2 │ api/ │ get │ apis\api\index.get.json │
│ 3 │ api/ │ get │ apis\api\index.json │
│ 4 │ api/ │ option │ apis\api\index.option.json │
│ 5 │ api/ │ patch │ apis\api\index.patch.json │
│ 6 │ api/ │ post │ apis\api\index.post.json │
│ 7 │ api/querybyentity │ get │ apis\api\querybyentity.json │
│ 8 │ api/index/test │ get │ apis\api\index\test.json │
└───────┴───────────────────┴────────┴─────────────────────────────┘
and you can fetch /api
to access content of apis\api\index.delete.json
We also offer a plugin system to extend it, I am writing wiki
The Swagger plugin is pre-installed in the project and can be seen directly by visiting /swagger.
❤️ Many thanks to Elysia for the handy and nice ui . https://github.com/elysiajs/elysia-swagger
Handles cross-domain issues and can give XHR direct access to Mock's APIs
all of plugins can configuration by set field plugins
of .simple_mock.yaml
root_dir: .
api_dir: apis
static_dir: static
static_route_prefix: /
port: 3000
silent:
error_log_file_path: ./error.log
log_size: 10M
debug_log_file_path: ./debug.log
watch:
+ plugins:
+ swagger:
+ cors:
rewrites:
- path: ''
test: ^(index)$
Please see source code ,[WIP]
- [ x ] Plugin Loaded
- [ x ] Support Static HTML to deploy
- [ x ] Mock JSON by filename
- WIKI
Help spread the Code Quality Love! ❤️