La maggior parte delle risposte che vedo online sono "Non è necessario un contratto per consumare servizi RESTful". Ma attualmente, consumare endpoint è uno dei maggiori problemi di impegno nel tempo nel nostro ambiente .NET. Oh quanto sarebbe facile consumare un WADL.
Ad esempio, prendi questo WADL. Questo è qualcosa che deve essere consumato.
<resources base="http://domain/api/rest/">
<resource path="AssignID">
<method id="assignId" name="POST">
<request>
<ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="StudentObject" mediaType="application/xml"/>
</request>
<response>
<ns2:representation xmlns:ns2="http://wadl.dev.java.net/2009/02" xmlns="" element="StudentAssignmentResult" mediaType="application/xml"/>
</response>
</method>
</resource>
... two hundred more methods/resources
</resources>
E tutto ciò che devo fare è chiamare un metodo molto semplice.
StudentAssignmentResult stuResult = AssignID.assignId(Wadl.Post, StudentObject stuObj);
Se il tuo endpoint aveva bisogno di qualcosa di simile
api/rest/AssignID/assignId/{name}/{ssn}
Questo diventerebbe solo un parametro di metodo.
StudentAssignmentResult stuResult2 = AssignId.assignId(Wadl.Get, UriString name, UriInt ssn);