NAME
Web::API::Mock - It's new $module
SYNOPSIS
$ git clone git@github.com:takihito/Web-API-Mock.git
$ cpanm ./Web-API-Mock
or
$ cpanm Web::API::Mock
:
$ run-api-mock --help
Usage:
$ run-api-mock --files api.md --not-implemented-urls url.txt --port 8080
DESCRIPTION
## Install
<pre> $ git clone git@github.com:takihito/Web-API-Mock.git $ cpanm ./Web-API-Mock
or
$ cpanm Web::API::Mock
: $ run-api-mock --help Usage: $ run-api-mock --files api.md --not-implemented-urls url.txt --port 8080 </pre>
## Create API Documentation
* http://apiblueprint.org
<pre> # api.md
## GET /hello
+ Response 200 (text/plain)
Hello World
</pre>
## Start Mock Server
<pre> $ run-api-mock --files api.md HTTP::Server::PSGI: Accepting connections at http://0:5000 </pre>
## Options
* files * API Document Files.
<pre> $ run-api-mock --files api1.md --files api2.md </pre>
* not-implemented-urls * Add "501 Not Implemented" info (Method and URL).
<pre> GET,/hello/hoge POST,/hello/foo </pre>
* port * server port
* Other... * plackup options
## Switch to the Production API
By using nginx
see not-implemented-urls option.
<pre> $ run-api-mock --files api.md --not-implemented-urls url.txt --port 5001 </pre>
<pre> upstream mock_backend { server 127.0.0.1:5001; }
upstream prod_backend { server 127.0.0.1:5002; }
server {
: :
location ~ ^/ {
proxy_intercept_errors on;
proxy_pass http://mock_backend;
proxy_set_header Host $host;
}
error_page 501 =200 @prod;
location @prod {
proxy_pass http://prod_backend;
proxy_set_header Host $host;
}
</pre>
LICENSE
Copyright (C) akihito.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
akihito <takeda.akihito@gmail.com>