如何构建xml REST API f#类型提供程序?

时间:2014-11-18 23:28:35

标签: f# type-providers

我想使用REST API为网站(比如说Teamcity)构建一个f#类型的提供者:

type teamcity = TeamCity<"host", port, "user", "password">
let context = teamcity.GetContext()
printfn "%d" context.Server.VersionMajor
for p in context.Server.Projects do
  printfn "%s" p.Name
(* ... *)

请告诉我这是否可行:

  • 我不能使用XmlProvider,因为它需要样本,并且很难为完整的API生成完整的样本。为了完整起见,我使用rest-api.jar和JAXB生成了一个xsd模式。
  • 我可以生成解析xsd。
  • 的ProvideTypeDefinitions
  • 对于每个REST API调用:我得到一个xml。 xml根元素为我提供了ProvideTypeDefinition的名称。我创建了一个ProvideTypeDefinition实例,其中xml为参数(或某些运行时类型,xml数据类似于数组)
  • 我不需要在我的运行时程序集中为每个REST API类型(Server / Build / Project /等)实现记录类型,因为我可以使用ProvidedTypeDefinitions创建实例。

另外,FSharp.Data中是否有任何轮子可以重复使用?

提前感谢您的帮助!

0 个答案:

没有答案