F# 如何构建xml REST API f类型提供程序?
我想为网站构建一个f类型的提供者,比如说Teamcity,它有一个REST API:F# 如何构建xml REST API f类型提供程序?,f#,type-providers,F#,Type Providers,我想为网站构建一个f类型的提供者,比如说Teamcity,它有一个REST API: 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 (* ...
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生成ProvidedTypeDefinitions。
对于每个RESTAPI调用:我得到一个xml。xml根元素为我提供了提供的TypeDefinition的名称。我使用xml作为参数创建ProvidedTypeDefinition的实例,或者使用xml数据(如数组)创建某个运行时类型
我不需要在运行时程序集中为每个REST API类型Server/Build/Project/等实现记录类型,因为我可以使用提供的类型定义创建实例。
另外,FSharp.Data中是否有我可以重用的轮子
提前感谢您的帮助 这个TypeProvider项目值得一看:谢谢@sgtz我会看一看的