0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【REST API】設計で迷わないために。エンドポイントとレスポンス設計の基本

0
Posted at

いつもありがとうございます!朝子祐樹です。

Webアプリケーションや業務システムの開発において、REST APIの設計は
プロジェクトの成否を分ける重要な工程の一つです。

フロントエンドや外部サービスと連携する際、APIの設計が曖昧だと、
後々の改修コストが膨れ上がったり、仕様の認識違いによる手戻りが
発生したりします。僕自身、大手SIerでの業務系システム開発や、
複数のスタートアップでのWebアプリ開発を通じて、API設計の重要性を痛感してきました。

今回は、設計時に迷わないために意識しておきたい
エンドポイントとレスポンス設計の基本」について整理します。

1. エンドポイントは「名詞」でリソースを表現する

APIのエンドポイントを設計する際、動詞ではなく「名詞(リソースの集合)」で
表現するのがRESTの基本原則です。

  • ❌ 悪い例: /getUsers, POST /updateUser
  • ⭕ 良い例: GET /users, POST /users, PUT /users/{id}

URLを見ただけで、どのリソースに対してどのような操作を行うのかが
直感的に分かる設計を目指しましょう。階層構造もシンプルに保つことが大切です。

2. HTTPメソッドを正しく使い分ける

リソースに対する操作は、HTTPメソッドに委ねます。

  • GET: リソースの取得
  • POST: リソースの新規作成
  • PUT / PATCH: リソースの更新(全体置換か部分修正かで使い分け)
  • DELETE: リソースの削除

曖昧なカスタムメソッドを増やさず、標準的なHTTPメソッドに沿うことで、
クライアント側との共通認識がスムーズになります。

3. レスポンスは一貫性を持たせる

レスポンスデータの構造やエラー時のフォーマット(ステータスコードと
エラーメッセージ)は、プロジェクト全体で統一しましょう。
成功時と失敗時でデータの持ち方がバラバラだと、
クライアント側のハンドリングが複雑になってしまいます。

API設計は「使う側の視点」に立つことが一番の近道です。
ぜひ日々の開発に取り入れてみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?