Slide 16
Slide 16 text
16
Protocol Buffersを使ったAPI開発
● 生成されたモジュールに encode/1, decode/1インタフェースが存在する
○ Protobuf <-> Struct の変換ができる
● リクエストパラメータはplugでデコード処理を共通化
○ /sample/ping -> Api.Sample.Ping.Requestの呼び出し
■ String.to_existing_atom/1 を使うのが重要
○ PhoenixControllerのパラメータと同様に扱うことが可能
● レスポンスはパスに対して動的にエンコード
○ /sample/ping -> Api.Sample.Ping.Responseの呼び出し
○ templateやviewを使わずPlug.Conn.send_resp/1を使用
● Controller/Routerやテストの自動生成もできると良い