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.