1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Rails API】「v1」とは何を表しているの?

Posted at

Rails APIについて学習しています。

URL:http://localhost:3000/api/v1/articlesや、
RL:http://localhost:3000/api/v1/articles/[:id]に、
アクセスした時のレスポンスとしてJSONを返すようなプログラムを実装しています。

その際、URLに指定する「v1」というワードが気になったので、調べてみました。

使用環境

  • Ruby 2.6.6
  • Rails 6.0.2.1
  • jsonのserializer は fast_jsonapi を使用。

テーブル

以下、モデル・テーブルを事前に準備していることを前提にしています。

  • Userテーブル
  • Profileテーブル
  • Articleテーブル
  • Commentテーブル

【本題】v1とは何を表しているの?

  • それは一般的にAPIのバージョンを表している。
  • APIの設計においては、後方互換性を壊さないように新しいバージョンを作ることがある。
  • そのときに、v1やv2といった形でバージョンをURLに含めることが多い。

web APIのバージョンを管理する方法について

いくつかバージョンの管理方法があるようなのですがURIにバージョンを埋め込むのがよく利用される方法のようです。

引用:Rails APIのルーティングnamespaceってなんで使うの?

後方互換性とは

後方互換性は、言い換えれば、旧製品に対して互換性を持っている新製品の性質である。例えば、CDが再生できるDVDドライブは、CDの規格に対して後方互換性がある。

引用:後方互換性とは?わかりやすく解説 Weblio辞書

最後に

全く別の例えですが、プレステ5でも、プレステ4のソフトが遊べます。

Rails APIにおいても、複数のバージョンを持っている事がわかりました。
複数のバージョンを提供する事で、不足の事態に備えるなどのリスク管理をしているわけですね。

参考サイト

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?