我们正在实施Sabre REST API,以便在我们的C#ASP.NET MVC应用程序中访问空中,酒店和车辆内容。
到目前为止,我们在从Sabre Dev Studio提供的JSON Schema文档生成C#模型类时遇到了一些问题。我们使用Quicktype CLI(https://quicktype.io/)来生成模型类。
到目前为止我们遵循的步骤:
OTA_AirLowFareSearchRQ.jsonschema
和OTA_AirLowFareSearchRS.jsonschema
个文件下载到文件夹中。quicktype -s schema OTA_AirLowFareSearchRQ.jsonschema OTA_AirLowFareSearchRS.jsonschema -o SabreAirLowFareSearch.cs
不幸的是它失败并显示消息“错误:尝试建立一个空联合 - 你的架构中有一个不可能的类型吗?”。这似乎与OTA_AirLowFareSearchRQ.jsonschema
隔离。
是否有工具或最佳实践从JSON Schema文档成功生成C#模型类?
答案 0 :(得分:2)
我已导入NuGet包:
完成以下代码:
using System;
using System.Threading.Tasks;
using NJsonSchema;
using NJsonSchema.CodeGeneration.CSharp;
namespace RunningTestings
{
class Program
{
static void Main(string[] args)
{
CreateClassfromJsonSchema(@"http://files.developer.sabre.com/doc/providerdoc/STPS/bfm/v410/OTA_AirLowFareSearchRQ.jsonschema").Wait();
}
public static async Task CreateClassfromJsonSchema(string url)
{
JsonSchema4 jsonSchema = await JsonSchema4.FromUrlAsync(url);
CSharpGenerator generator = new CSharpGenerator(jsonSchema);
string file = generator.GenerateFile();
}
}
}
生成了此链接上附带的代码: https://file.io/LlRNsf (我不知道它会持续多久)
您需要为响应执行另一个调用。