.net ReST代理对象生成器

.net ReST代理对象生成器,.net,rest,code-generation,.net,Rest,Code Generation,第三方公司编写了一套ReST服务。我已经完成了所有的代码工作,但事后来看,为了消除一些遗留问题,我想有人可能知道一个代码生成器,它连接到ReST服务,计算出需要创建哪些请求和响应对象,并为这些对象生成代码。我在谷歌上看了一下,但没有看到任何合适的东西(也许它叫别的东西) 我正在寻找类似于在VisualStudio中添加Web引用的功能,它在VisualStudio中生成代理及其所需的对象 ReST服务是用Java编写的,所以我不能使用任何好的WCF工具。没有标准的方法来描述ReST服务,所以没有

第三方公司编写了一套ReST服务。我已经完成了所有的代码工作,但事后来看,为了消除一些遗留问题,我想有人可能知道一个代码生成器,它连接到ReST服务,计算出需要创建哪些请求和响应对象,并为这些对象生成代码。我在谷歌上看了一下,但没有看到任何合适的东西(也许它叫别的东西)

我正在寻找类似于在VisualStudio中添加Web引用的功能,它在VisualStudio中生成代理及其所需的对象


ReST服务是用Java编写的,所以我不能使用任何好的WCF工具。

没有标准的方法来描述ReST服务,所以没有工具为您生成这样的代理。没有for REST(这是VisualStudio用于web引用的内容)


您可以使用REST库,例如使用标准HTTP谓词和响应代码,使服务调用更容易,但您需要自己了解API。

恐怕这真的不可能,除非服务发布者以某种形式专门发布有关其服务的元数据;然后它将是一个专有的扩展,您必须专门针对自己编写代码

REST中没有内置任何东西来启用自我描述,因此在您实际调用它之前,无法知道哪些集合等可用,或者它需要/公开哪些对象

这种情况的一个例外是,对象的元数据与对象集合本身一起发布,但oData是以RESTful方式构建的协议;这与“休息服务”不同

因此,您需要服务作者的辛勤工作,为您提供所需的信息,这些信息可以被机器读取并转化为代码

例如,如果数据是用XML传输的,那么它们还应该(imho)发布一个或多个XML模式,这些模式描述它们将发送给您以及它们希望您发送给它们的对象


这是最大的战役——因为编写代码与REST服务真正接口可能是最容易的;当然,这比编写自己的SOAP客户端代码要好得多

您应该查看F#类型提供程序。他们能够从一个“典型”的API响应中恢复,因此您需要对这些响应进行智能感知和输入错误检查。不过,断言输出的所有可能属性并不是一种严格的方法,它也不会帮助您处理请求。

谢谢-他们为我提供了一个XSD文件,我想我可以使用这里的答案()来生成对象。谢谢,我也会看看RESTSharp,