リクエスト

エンドポイント

URI

  • 動詞ではなく名詞を用い、複数形とする
  • スネイクケース推奨
    • 但し、ドメイン名ではスネイクケースが使用できないことに留意
  • APIのバージョンをURIに含める
    • バージョン番号は「v」+「整数」(例:v1, v2, ...)
  • ベースURIにAPI提供を表す「api」という単語を含める

パラメタ

  • 1つのパラメタに複数の値を指定する際にはカンマ「,」を用いる

ページネーション

  • limit/offset型
    • 取得開始ページ「offset」または「page」と件数「limit」とする
  • ページ番号型
    • ページ番号「page」とする
  • カーソル型
    • 「cursor」で開始するデータの ID を指定
    • データ量が多い場合に備えて「limit」も指定できるようにする

レスポンス

文字コード

  • UTF8

データ表記

日時

  • ISO8601に準拠
  • 日本時間の場合:YYYY-MM-DDTHH:mm:ss+0900

性別

  • ISO5218に準拠
  • 男性は 1、女性は 2、それ以外は 9、不明な場合は 0

メタデータ

エラー

データ項目

  • status ... HTTPステータスコードをHTTPレスポンスヘッダに格納
  • type ... エラーの種別を示すURIを格納
  • title ... エラーの名称を表示
  • detail ... エラーの説明文を格納

セキュアなエラーフィードバック

  • 403 Forbidden
    • データへのアクセス不許可 → データが存在することを暗に認めていることになる
    • 「404 Not Found」レスポンスに変えることも検討する
  • 500 Internal Server Error
    • APIのベースとなっている技術スタックに関する詳細情報が提供されないようにすること
    • APIの内部で実際に稼働しているものの手がかりになるような情報を提供しないように注意する必要がある

HAL (Hyper Application Language)

ファイルアップロード


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-05-12 (木) 17:20:01 (714d)