17

Dropwizardの使い方を学んでいます。クイックスタート ガイドに従って、基本的な REST API を実行することができました。

このドキュメントには、「プロジェクトの編成」というセクションがあります。

プロジェクトを次の部分に編成することをお勧めします: project-api、project-client、project-service。

ここに私の質問/クエリがあります:

  1. 「api」、「service」、「client」の違いを大まかに説明してください。

  2. dropwizard を使用して上記の規則に厳密に従う例はありますか?

  3. 「...project-client はこれらのクラスと HTTP クライアントを使用して、サービスに本格的なクライアントを実装する必要があります」 --- 「project-service」には REST API があるため、HTTP クライアントを使用する必要があるのはなぜですか?

ありがとう!

4

2 に答える 2

11

1) api - 名前の通り、プロジェクトで Representations(Pojo -Json/Xml) として定義されるインターフェース/コントラクトです。これらのモデルは、API コントラクトを定義します。これは、API を使用している別のプロジェクトと共有できます。

2)サービス- 実際のビジネス ロジックと持続性。表現は、エンティティ オブジェクト (ドメイン オブジェクト) と同じである必要はありません。これにより、ドメインと表現がより明確に分割されます。ドメイン ロジックは、表現に結合しなくなります。これにより、オブジェクト構造の点で大幅な重複が発生する可能性があります。

プロジェクトの依存関係 - 「api」、「client」に依存

3) client - HttpClient または Jersey Client を使用して HTTP 呼び出しを介して他の Web サービスを呼び出すための Http Client ラッパー。コントラクトの (エンドユーザー) ベースのテストを記述します。

プロジェクトの依存関係 - 「api」に依存

お役に立てれば。

于 2014-06-10T12:12:47.577 に答える