Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generate Contracts for REST objects

I'm new to REST and this sounds like it should be pretty simple. In a .NET app, I can create a reference to a WCF service and the contracts for all the available types will be generated for me.

Now I'm trying to consume a REST service in a Windows Phone 7 app. While I can make my call and get back the proper response, is there a simple way to create the classes that each object would be deserialized to?

I'm using RestSharp to manage my calls. In some examples I've seen, user's have created their own classes, and generated the xml manually. I would like to avoid this if at all possible.

many thanks!

like image 705
earthling Avatar asked Feb 03 '23 21:02

earthling


2 Answers

Assuming your response is XML, you can save the xml into a file, then call xsd.exe on it to generate a schema. Call xsd.exe on the schema and it will generate a c# class file you can seriazlize and deserialize to from the xml. Here's the documeantion on how XSD.exe works:

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

like image 160
chris.w.mclean Avatar answered Feb 05 '23 11:02

chris.w.mclean


You have to generate the classes that your response data will map to (or use a dynamic deserialization scheme if you're on .NET 4) since REST does not include a schema definition system the way SOAP does. In RestSharp, there's a T4 helper to make generating the C# classes easier. It gets you about 80% of the way there. If you need any help with it, post to the RestSharp Google Group.

like image 34
John Sheehan Avatar answered Feb 05 '23 12:02

John Sheehan