私はComboBoxes
を私のAngularJSウェブアプリケーションに埋めなければなりません。フロントエンドの場合、必要なデータはキーの値のペアのリストだけです。コンボボックスを埋めるためのWeb APIメソッド?
問題はバックエンドです:これらのリストを埋めるために、私は「リストの物」を提供する単一のWeb APIエンドポイントを生成しました。
ルートは{id}
の値に応じ/api/list/{id}
あり、それは、キー、値の同じで... Users
、Accounts
、Books
、Cars
のリストを返します。たとえば、Id = 1の場合、車のリストを返します。
これはComboBoxを満たすのに最適です。
だから私は大きなスイッチ私のコントローラのメソッドの中にどのような種類のリストを返す必要があるかを判断する。
フロントエンドは非常に便利ですが、これはバックエンドにとっては本当に汚いと感じています。異なるマジックナンバーで同じエンドポイントを呼び出すだけで、私は別のリストを取得します。
質問:このシナリオでは、よりクリーンな方法がありますか?
IMO薄いコントローラを維持し、あなたが注入BigSwitchService(または何でもあなたがそれを呼びます)を作成コントローラ。すべてのロジックをサービスに入れてください。 apiデザインに関しては、最もクリーンなapiではないかもしれませんが、それで時間を大いに節約すれば、それを使うべきです –