質問: 現在私の会社では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で構築できるのか教えていただきたいです。
回答: 名前の付け方って難しいですよね。 APIと直接ではなくて申し訳ありませんが、ご指定のような<頭文字>+連番5桁のような名前つけは 古いシステムではよく採用されているようです。名前空間が狭くて、ユニークな名前を付けづらかった時の名残ではないかと思います。 なので、「名前として存在するか」という意味では普通に存在します。 そういったシステムをお使いの場合、頭文字+連番で完全に機能を把握している人がいたりして、なかなかモダンな名前つけに変更できないといったことが起きたりもします。 以上、ご参考まで