ServiceStack
Installation
Add this line to your application's Gemfile:
gem 'service-stack'
And then execute:
$ bundle
Or install it yourself as:
$ gem install service-stack
Usage
With Rails
Create a new controller like this (in
app/controllers
)class ActionHandlerController < ApplicationController FUNCTIONS = { 'Foo' => FooFunction } rescue_from ServiceStack::FunctionError do render json: { error: 'Action not found' }, status: 400 end def index function_klass = FUNCTIONS.fetch(params.require(:Action), nil) return head(400) if function_klass.nil? function = function_klass.new(x: 1) render(json: function.perform, status: 200) end end
Create Action class (in
app/actions
)class CreateFooFunction < ServiceStack::Function def perform { foo: { x: 1 } } end end
Add route (in
config/routes.rb
)match '/', to: 'action_handler#index', via: %w[get post]
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the ServiceStack project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.