ランサーズ等のサービスを開発・運用する中で得た知識やノウハウを紹介しています。

thumbnail

Labels:  DevOps 投稿者:mori-dev

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

です。
昨日、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 を配列とすることで、たとえばバリデーションエラーなんかを一括してレスポンスできる

参考ページ

ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。

PHPエンジニア
Rubyエンジニア
フロントエンドエンジニア
インフラエンジニア
新卒エンジニア
その他採用情報

関連記事

AWS API とサーバ管理

あけましておめでとうございます。エンジニアの こじま です。 今年もよろしくお願いいたします。   今回は,ランサーズの開発・運用を楽にするための サーバ管理システムのご紹介をします。 弊社プラットフォームでは AWS を利用しています。 &nbsp …

Ruby Mechanize によるサービス監視のすすめ

こんにちわ。エンジニアの こじま です。 今回は,ランサーズのサービス品質を支える サービス監視システムのご紹介をします。 弊社プラットフォームは,複数の監視システムを導入して運用を実施しています。 システム 用途 (自社製)サービス監視システム サービス稼働 …

ランサーズ リリースシステム 〜 Jenkins + Fabrics

こんにちわ。エンジニアの こじま です。 今回は,ランサーズのリリースシステムの紹介をします。 弊社プラットフォームは,1日に多い時は10回以上のコードのリリースを実施します。 ユーザ様によりよいプラットフォームを提供すべく日々,リリースをし改善を実施していま …