QA@IT

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

10538 PV

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

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

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

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

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

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

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

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

  • マルチポストのようですので、他のポスト先の URL を貼っておきます。 https://teratail.com/questions/136206 -
  • 質問者さんへ> マルチポストの意味が不明でしたらそれでググってヒットする記事を 2, 3 読んでください。いろいろ意見はあるかもしれませんが、ここのようなコミュニティで歓迎されることではなさそうです。 -
  • SurferOnWwwさん>
    もうしわけございません。アドバイスありがとうございます。
    -
  • うるさいことを言うとお思いかもしれませんが、もう一つ・・・ 質問者さんが過去に立てたスレッドが放置状態になってます。レスがなければともかく、レスを貰っておきながら無反応というのは、マルチポストよりもっとマナー的にマズイかも。 -
  • いや、その通りだと思います。
    はっきり言っていただきありがとうございます。
    -
  • で?
    teratail で答えが得られたから、ここは放置ですか?みんながみんな暇なわけではないので、複数のサイトを見ているわけではありません。その意味で、あちこちに投稿することを否定しません。が、ある所で答えが得られたのなら、他所に知らせてくれませんか?
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。