質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

768閲覧

APIの数が膨大なになった時のAPI名の付け方について

tomo1986

総合スコア10

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

2クリップ

投稿2018/07/15 16:12

RESTfulなAPIで構築APIを作成したい。

下記で記載する内容をどのように解決しているのかの質問と、
どのようにAPIを設計すれば下記のような問題を回避できるのか、
RESTfulなAPIで構築できるのか教えていただきたいです。

発生している問題

現在私の会社ではAPIの名前はapi1,api2,api3というような名前でapiを書いています。
apiを呼ぶ時、api/v1/api1みたいな感じです。
これだと何の何をするapiかわからないのです。

なぜこういう名前にしたかというと理由は二つあります。
・昔apiの数が膨大になった頃、一つ一つに適切な名前をつけることが困難になったから
・更新するプログラムで子テーブルの要素まで更新する場合、適切な名前が思いつかなくなった。

上記二つの理由から私の会社ではapi{n}という名前でapiを作ることが文化になりました。

また、APIを作る上で制約等がないためメンバーは、本来getメソッドが正しいところでもpostを使用したりと作る人によってバラバラです。

だから私はどうにかメンテナビリティが高くできないかということやRESTfulなAPIを作るにはどうしたらよいかを考えていて、
上司に相談すると、考えた結果api{n}という名前でapiを作ることを決断したとのことでした。

色々調べましたが、私たちと同じように作成している事例を聞いたことないし調べても出てきませんでした。

実際私たちのサービスよりも大きいサービスでAPIの数も私たちのサービスよりも多いサービスはいっぱいあると思います。
「apiの数が膨大になり、一つ一つに適切な名前をつけることが困難」という問題も当然あるとと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/16 01:00

マルチポストのようですので、他のポスト先の URL を貼っておきます。 https://qa.atmarkit.co.jp/q/10566
退会済みユーザー

退会済みユーザー

2018/07/16 01:04

質問者さんへ> マルチポストの意味が不明でしたらそれでググってヒットする記事を 2, 3 読んでください。いろいろ意見はあるかもしれませんが、ここのようなコミュニティで歓迎されることではなさそうです。
guest

回答1

0

ベストアンサー

APIに限らずネーミングは大切です。変数ひとつにしてもその機能や用途が想像できるネーミングでなければなりません。その為にはなるべく早い段階から将来も含めてこんなAPIを提供したい、というリストを用意しましょう。

機能や用途も記述したAPIの一覧も提供しましょう。APIの数が多くなってもある程度用途毎に分類できるはずです。ネーミングに連番を使うのはネーミングを定義できる桁数の上限など最後の手段です。

投稿2018/07/15 21:58

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomo1986

2018/07/16 03:37

なるほどですね。 機能や用途も記述したAPIの一覧作ってなかったです。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問