ぼくの考えた最強の WebAPI のエラーレスポンス型(仮)の mson を発表します!!1

mori-dev|2017年07月12日
DevOps

です。
昨日、API仕様を考えていて、社内チャットで雑談した成果になります。ご査収下さい。

 

## Error

+ status_code: `500` (number, required) – ステータスコード
+ type: `validation_error` (string, required) – エラー種別。プログラムからの利用を想定
+ logged_at `2014-10-10T13:50:40+09:00` (string, required) – エラー発生時刻。 `yyyy-MM-ddTHH:mm:ss` 形式。調査用
+ message: `validation_error_foo_bar` (string, optional) – エラーの詳細な説明
+ user_message_title: `入力内容が不正です` (string, optional) – ユーザに直接表示できるエラーのタイトル
+ user_messages: `XXXを入力してください` (array, optional) – ユーザに直接表示できるエラーの説明文の配列
+ tip: `ああするとよいかもしれません` (string, optional) – どう対処したらいいかの説明

  • logged_at はサーバーのログ出力形式と合わせる
  • 人間用のメッセージなのか、コード用のメッセージなのか明示した
  • レスポンスボディでステータスコードなどいらん、と思ってたけど改心した
  • user_messages を配列とすることで、たとえばバリデーションエラーなんかを一括してレスポンスできる

参考ページ