shimgo
9/6/2018 - 1:52 AM

Web API設計ネタ

  • カスタムヘッダの使い方。どんな情報をカスタムヘッダにすべきか
  • httpメソッド使い分け
  • あるリソースを複数更新するとき patch /articles みたいな感じ
  • 時刻データの扱い
    • 見やすいが変換でのバグを埋め込みやすい: ISO8601
    • 見にくいが変換が簡単なのでバグが少ない: UNIX秒
  • PUTはリソースをまるごと置き換え
  • 検索URLなどのRESTにしづらいものの扱い
    • /search/リソースみたいな感じ?
  • クエリパラメータの利用基準
  • 計算してくれるだけのurlは?
  • レスポンスのsuccessとかは?
  • PATCH drivers/[:id]/location or drivers/[:id]とするか
    前者にするとパラメータを必須にできる。後者だとドライバーのプロフィール変更と混ざる
  • 区分値をリクエストパラメータにする代わりにエンドポイントを分けると、
    その区分値をクライアントが気にする必要がなくなる、case分岐が減るが、 テストのエンドポイントが増える&若干コードが重複する。エンドポイントを 分けなければ逆にそこだけを見ればそこの処理がわかるとも言えるかも。分岐 したとき処理がかなり異なる、とかでないと効果はうすそう