RESTAPIに対してJavaSDKを開発しようとしていますが、それを構築するためのベストプラクティスのアプローチを知りたいと思います。私はGoogleを調べ、REST APIに接続する多くのSDKも使用しましたが、一貫性はあまりありません。私は興味深いと思ういくつかのパターンに出くわしました。どれがベストプラクティスと見なされるか、または代替案があるかどうかを知りたいですか?
簡単にするためにサンプル/擬似コードを提供しました。
1)モデル/リクエスト/クライアントはすべて分離されています。呼び出し例:
Client client = new Client( ... credentials ... );
try {
Something obj = client.post( new PostSomethingRequest( ..params... ) );
} catch( Exception oops ) { ...handle... }
try {
Something obj2 = client.get( new GetSomethingRequest( id ) );
} catch( Exception oops ) { ...handle... }
2)モデルとリクエストは結び付けられており、クライアントは分離されています。呼び出し例:
Client client = new Client( ... credentials ... );
try {
Something obj = client.post( new Something( ..params... ) );
} catch( Exception oops ) { ...handle... }
try {
Something obj2 = client.get( new Something( id ) );
} catch( Exception oops ) { ...handle... }
3)モデルにはすべてが含まれています。呼び出し例:
Client.setCredentials( ... credentials ... );
Something obj = new Something( ..params... );
try {
obj.post();
} catch( Exception oops ) { ...handle... }
try {
Something obj2 = Something.get( id );
} catch( Exception oops ) { ...handle... }
これを構築するためのより良い方法があれば、私もそれらについて聞いてうれしいです。