yapi

yapi is a very simple API client (a la Postman) which uses a yaml file for configuration.

Start with a yapi.yml file:

# routes.yapi.yml
---
root: http://localhost:3000
session: my_project
headers:
  Content-Type: application/json
  Accept: application/json
output:
  headers: true

# Routes

users.index:
  path: /users
  params:
    page: 2
    per: 100

users.show:
  path: /users/1

users.create:
  path: /users
  method: POST
  body: |
    {
      "name": "Test User",
      "email": "[email protected]",
    }

Run yapi for an interactive prompt:

$ yapi routes.yapi.yml

or specify a line number and the nearest request specification will be run:

$ yapi routes.yapi.yml:20

Installation

gem install yapi-cli

Details

Cookies will be used if a session name is provided in the project settings.

Available Project Settings

root: The root path for requests in this project.

headers: Headers to apply to every request. Requests can overwrite these when needed.

session: A name to store cookies for. Session cookies are saved to ~/.cache/yapi/session_name.jar

output: Toggles whether to print various items in the output. Currently only headers: true|false is supported.

Available Request Options

path: Path to append to root path defined in project settings.

method: HTTP method type.

headers: Define additional headers here, they will be merged with any headers defined on the project level.

params, body, json, form: See http.rb documentation

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/dbridges/yapi.

License

The gem is available as open source under the terms of the MIT License.