2011-02-08 5 views
7

私はRESTが新しく、これはかなりシンプルであるように思えます。 .NETアプリケーションでは、WCFサービスへの参照を作成することができ、利用可能なすべてのタイプの契約が生成されます。RESTオブジェクトのコントラクトを生成する

今、Windows Phone 7アプリケーションでRESTサービスを使用しようとしています。私が私の電話をして適切な応答を返すことはできますが、各オブジェクトをデシリアライズするクラスを作成する簡単な方法はありますか?

RestSharpを使用して通話を管理しています。私が見たいくつかの例では、ユーザーは独自のクラスを作成し、xmlを手動で生成しています。私は可能な限りこれを避けたいと思います。

多くの感謝!

+0

私はあなたの質問に答えることはできませんが、私はあなたがより良い指導を受けるだろう期待してRestSharpの作者にそれをつぶやきました。 –

答えて

8

応答がXMLの場合、xmlをファイルに保存してから、xsd.exeを呼び出してスキーマを生成できます。スキーマでxsd.exeを呼び出すと、XMLから直列化および逆シリアル化できるC#クラスファイルが生成されます。ここでXsd.exeではがどのように働くかについてdocumeantionです:

http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=VS.100).aspx

+0

素晴らしいアイデア、先端のおかげで。 – earthling

+0

これは間違いなく最も簡単な方法でした。 – earthling

+0

どのような創造的な解決策。名声。 +1 – Stimul8d

3

RESTにはSOAPと同じようにスキーマ定義システムが含まれていないため、応答データがマップするクラスを生成する必要があります(.NET 4の場合は動的逆シリアル化スキームを使用する必要があります)。 RestSharpでは、there's a T4 helper to make generating the C# classes easierです。そこには約80%の道があります。助けが必要な場合はRestSharp Google Groupに投稿してください。

+0

ありがとう、私は今T4をしようとしています。 – earthling

+0

先日、私は非常に具体的なrel値を使ってクライアントに正確な型が返されるようにすることで、このアプローチを自己記述的にする方法を提案した人と非常に面白い議論をしました。サービスがサポートするリレーショナルセットは、クライアントによって明確に文書化されサポートされる必要がありますが、少なくともURIをこのようなタイプの戻り値にすることは避けられます。 –

+1

https://github.com/johnsheehan/RestSharp/wiki/T4-ヘルパーが見つかりません – Kiquenet

関連する問題