私は Java EE 6 で Web サービスを作成しています。私が理解していることから、@Path/@GET などのアノテーションを使用してローカル インターフェイスにアノテーションを付けるか、インターフェイスなしの Bean を付けることができます。2 つのインターフェイスを作成するのが一般的でしょうか。1 つは注釈付きの Web サービス用で、もう 1 つはローカル インターフェイス用ですか? それとも、ローカル インターフェイスに追加するだけですか?
1 に答える
あなたの質問を理解できれば、注釈を指定するためだけにインターフェイスを定義する必要があるかどうかを尋ねています。プロジェクトが非常に複雑で、Web サービスのアノテーションを別のライブラリに置き換えることを予見しない限り、これを行う利点はわかりません。このライブラリは、将来のサポートに関して仮想の死の床に置かれている必要があります。そうでない場合、私がこの戦略を検討するには、CTO がテクノロジを変更しているという明確な証拠が必要です。
ほとんどのプロジェクトでは、これはやややり過ぎのように思えます。特に、これらの注釈を追加できるコントローラー用に定義されたインターフェースが既にある場合はなおさらです。あなたのプロジェクトの同僚として、非常にやむを得ない理由がない限り、1 つのクラスの注釈について 3 つの異なるファイルをチェックする必要はありません。
そうは言っても、注釈をインターフェイスまたはサブクラスに追加したい場合は、この例でサポートされています。ただし、すべての REST 注釈がインターフェイス上にあるか、すべての注釈がサブクラス上にあるかのいずれかで、明確な標準を確実に作成する必要があると思います。それらを混ぜたり合わせたりすると、プロジェクトに慣れていない人にとっては混乱する可能性があります.
コードを実際に見て、それがどれほど複雑であるかを確認しなければ、どの方法がプロジェクトに最適かはわかりません。重要なことは、一貫性と柔軟性のバランスを取ることです。要約すると、Java は柔軟性に匹敵する十分なロープを提供しますが、注意しないとそのロープで首を吊るすこともできます。:)