A Grape API mounted on Rack.
- ping: a hello world example that returns a JSON document
- post_put: a simple
POSTandPUTexample - post_json: an example that shows a
POSTof JSON data - rescue_from: an example of
rescue_fromthat wraps all exceptions in an HTTP error code 500 - path_versioning: an example that uses path-based versioning
- header_versioning: an example that uses vendor header-based versioning
- wrap_response: a middleware that wraps all responses and always returns HTTP code 200
- content_type: an example that overrides the default
Content-Typeor returns data in both JSON and XML formats - upload_file: an example that demonstrates a file upload and download
- entites: an example of using grape-entity
There's a deployed grape-on-rack on Heroku.
$ bundle install $ rackup Loading NewRelic in developer mode ... [2013-06-20 08:57:58] INFO WEBrick 1.3.1 [2013-06-20 08:57:58] INFO ruby 1.9.3 (2013-02-06) [x86_64-darwin11.4.2] [2013-06-20 08:57:58] INFO WEBrick::HTTPServer#start: pid=247 port=9292 Navigate to http://localhost:9292/api/ping with a browser or use curl.
$ curl http://localhost:9292/api/ping {"ping":"pong"} $ curl http://localhost:9292/api/data A red brown fox jumped over the road. $ curl -X POST -i -F image_file=@spec/fixtures/grape_logo.png http://localhost:9292/api/avatar {"filename":"grape_logo.png","size":4272} $ curl -X POST -i -F file=@spec/fixtures/grape_logo.png http://localhost:9292/api/download.png $ curl -X POST -i -F file=@api/ping.rb http://localhost:9292/api/download.rb rake routes Explore the API using Swagger UI. Run the application and point the explorer to http://localhost:9292/api/swagger_doc or http://grape-on-rack.herokuapp.com/api/swagger_doc.
The application is setup with NewRelic w/ Developer Mode. Navigate to http://localhost:9292/newrelic after making some API calls.
