Slide 35
Slide 35 text
35
Copyright hacomono Inc. All Rights Reserved.
class GetMail < ::Mailer::MailService::Service
# @param [GetMailRequest] input
# @return [GetMailResponse]
def execute(input:)
# rpc_desc イメージ
# {
# GetMail: {
# input: GetMailRequest
# output: GetMailResponse
# }
# }
rpc_desc_details = rpc_desc[name.to_sym]
raise 'リクエストの型がおかしい
' unless input.is_a? rpc_desc_details[:input]
output = # メール情報を取得
raise 'アウトプットの型がおかしい
' unless output.is_a? rpc_desc_details[:output]
output
end
end
取り組み2: 外部APIはprotoを活用
モジュラーモノリスの実現