从 JSON Sabre REST API 模式生成 C# 模型 类
Generating C# model classes from JSON Schema for Sabre REST API
我们正在实施 Sabre REST API 以在我们的 C# ASP.NET MVC 应用程序中访问航空、酒店和车辆内容。
到目前为止,我们在从 Saber Dev Studio 提供的 JSON 架构文档生成 C# 模型 类 时遇到了一些问题。我们正在使用 Quicktype CLI (https://quicktype.io/) 生成模型 类.
到目前为止我们遵循的步骤:
- 已将
OTA_AirLowFareSearchRQ.jsonschema
和 OTA_AirLowFareSearchRS.jsonschema
个文件下载到一个文件夹中。
- 使用 PowerShell 导航到文件夹并调用
quicktype -s schema OTA_AirLowFareSearchRQ.jsonschema OTA_AirLowFareSearchRS.jsonschema -o SabreAirLowFareSearch.cs
不幸的是,它失败并显示消息 "Error: Trying to make an empty union - do you have an impossible type in your schema?"。这似乎与 OTA_AirLowFareSearchRQ.jsonschema
.
隔离
是否有从 JSON 架构文档成功生成 C# 模型 类 的工具或最佳实践?
我已经导入了 NuGet 包:
- NJsonSchema
- NJsonSchema.CodeGeneration
- NJsonSchema.CodeGeneration.CSharp
并完成以下代码:
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)
{
JsonSchema jsonSchema = await JsonSchema.FromUrlAsync(url);
CSharpGenerator generator = new CSharpGenerator(jsonSchema);
string file = generator.GenerateFile();
}
}
}
它生成了附在这个 link 上的代码:https://file.io/LlRNsf(我不确定它会在那里持续多久)
您需要再次调用以获取响应。
我们正在实施 Sabre REST API 以在我们的 C# ASP.NET MVC 应用程序中访问航空、酒店和车辆内容。
到目前为止,我们在从 Saber Dev Studio 提供的 JSON 架构文档生成 C# 模型 类 时遇到了一些问题。我们正在使用 Quicktype CLI (https://quicktype.io/) 生成模型 类.
到目前为止我们遵循的步骤:
- 已将
OTA_AirLowFareSearchRQ.jsonschema
和OTA_AirLowFareSearchRS.jsonschema
个文件下载到一个文件夹中。 - 使用 PowerShell 导航到文件夹并调用
quicktype -s schema OTA_AirLowFareSearchRQ.jsonschema OTA_AirLowFareSearchRS.jsonschema -o SabreAirLowFareSearch.cs
不幸的是,它失败并显示消息 "Error: Trying to make an empty union - do you have an impossible type in your schema?"。这似乎与 OTA_AirLowFareSearchRQ.jsonschema
.
是否有从 JSON 架构文档成功生成 C# 模型 类 的工具或最佳实践?
我已经导入了 NuGet 包:
- NJsonSchema
- NJsonSchema.CodeGeneration
- NJsonSchema.CodeGeneration.CSharp
并完成以下代码:
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)
{
JsonSchema jsonSchema = await JsonSchema.FromUrlAsync(url);
CSharpGenerator generator = new CSharpGenerator(jsonSchema);
string file = generator.GenerateFile();
}
}
}
它生成了附在这个 link 上的代码:https://file.io/LlRNsf(我不确定它会在那里持续多久)
您需要再次调用以获取响应。