2011-07-07 6 views
2

いくつかのWebサービスを開発するためにJersey/Tomcat6を使用しています。 SOAPサービスの場合と比較して、サービスが開発されたらクライアントに何を共有すればいいのか分かりません... WebサービスのURLだけですか? SOAPの場合、クライアントがスタブを自己生成したので、WSDLファイルで十分でした。RESTfulな開発 - クライアントとの共有方法

Myサービスは、JSON形式のユーザーオブジェクト(2文字列)のリストを返します。サービスURLだけを共有すると、クライアントはどのようにJSONをデシリアライズしますか?エンティティBean(Userクラスとリストクラス)も自分のサーバー側で共有する必要がありますか?

私はRESTのためのいくつかのWADLファイルについて読んでいます...ここで役に立つのでしょうか?

ありがとうございました!

答えて

0

RESTサービスの使い方をあなたのクライアントに示すために、クライアントの例をまとめたいと思うようです。もちろん、理想的には、RESTサービスはHATEOAS(アプリケーション状態のエンジンとしてのハイパーメディア)を完全にサポートしているので、望ましい結果を得るためにリソースを走査する手段を発見することができます。私は実際のHATEOASの実装がまれであることを発見しました。 RESTful-ishサービス(HATEOASを完全にサポートしていないサービス)では、サンプルクライアントが便利です。あなたは通常、いくつかのJavascriptを使ってサンプルクライアントをHTMLで実装することができます。これにより、ほとんどのRESTクライアントユーザーはすべてのものに非常にアクセスしやすくなります。

+1

もう一度Jerseyを使用してクライアントを作成することもできますが、ネットワーク経由でJSONをデシリアライズしてからクラスファイルも必要になります。だから私の質問は、私はすべてのクライアントにこれらのclasファイルを渡す必要がありますか? (Coz、私はクライアントとして本当にこれらのクラスやオブジェクト構造が必要です)。 – zombie

+0

ここに質問があります:なぜあなたのクライアントはクラスを必要としますか? –

+0

私は恐ろしくどこかでwrngだと思います。私が作ったジャージークライアントは、WebサービスからJSON文字列を受け取ります。JSON文字列はオブジェクトにデシリアライズする必要があります。この「直列化解除」は、既存のクラス定義(サーバー側と同じ)を必要とします。どこが間違っていますか?私のクライアントはクラスファイルを知らなくてもJSON文字列全体をデシリアライズできますか? – zombie

関連する問題