APIの概要や設計
APIのエンドポイントにアクセスする主なHTTPメソッドは以下のとおり。
- GET -> データの取得
- POST -> 指定したリソースに実体を送信するために使用。サーバー上の状態を変更したり、副作用が発生したりすることがよくある。新規登録やコメント投稿などに使う。
- PUT メソッド -> リソースの全体を更新する。
- PATCH メソッド -> リソースを部分的に変更するために使用。
- DELETE メソッド -> 指定したリソースを削除。
いずれのメソッドも何らかの形でリスポンスを返す。
リスポンスの主な状態
201...リクエストは成功し、その結果新たなリソースが作成されたことを示す。一般的にPOSTリクエストや、一部のPUTリクエストを送信した後のレスポンスになる。
204...リクエストに返すコンテンツはなし。DELETEメソッドなどでリソースを削除した時に返されるリスポンス 。
400..構文が無効であるためサーバーがリクエストを理解できないことを示す。パラメータが不正だと発生。
401...HTTP 標準では "unauthorized" (不許可) と定義されているが、意味的にはこのレスポンスは "unauthenticated" (未認証) 。つまり、クライアントはリクエストされたレスポンスを得るためには認証を受けなければならない。ログインしていない時に発生する。「あなたはわからない」とも言える。
403….一般ユーザーが管理画面に行こうとするなど、ログインして認証済みだが権限がない時に発生。「あなたはわかるけど権限がない」とも言える。
406...クライアントからのデータ形式に対応してない。
- 429...一定期間ないに特定のユーザーが大量のリクエストを送った時に返す。ヘッダには、「Retry-after」を入れて、何秒後にリクエストを再開するかを教える。
- 404...データがありません
画像などのアップロード
画像アップロードにあたって、画像データの識別は拡張子ではなく、mime typeで行うこと。拡張子では簡単に改変できてしまう。