RailsでのDTO Part.2

いろいろ調べた結果この形にしました。

# hoge_api.rb
class HogeApi < ActionWebService::API::Base
  inflect_names false
  api_method :getHoge,
   :expects => [{:param => :int}],
   :returns => [HogeStructs::HogeDto]
end
# hoge_service.rb
class HogeService < ActionWebService::Base
  web_service_api HogeApi

  def getHoge(params)
    dto = HogeStructs::HogeDto.new
    dto.id = 1
    dto.name = "test"
    dto.note = "kitayo"
    return dto
  end
end
# hoge_dto.rb
module HogeStructs
  class HogeDto < ActionWebService::Struct
    member :id, :int
    member :name, :string
    member :note, :string
  end
end
# hoge_controller.rb
class HogeController < ApplicationController
    web_service_dispatching_mode :delegated
    web_service :api, HogeService.new
    web_service_scaffold :invoke
end

もっと良い方法があったら教えてください。m(_ _)m