gpt4 book ai didi

c# - 从 JSON Schema 为 Saber REST API 生成 C# 模型类

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:21 27 4
gpt4 key购买 nike

我们正在实现 Sabre REST API 以在我们的 C# ASP.NET MVC 应用程序中访问航空、酒店和车辆内容。

到目前为止,我们在从 Saber Dev Studio 提供的 JSON 架构文档生成 C# 模型类时遇到了一些问题。我们正在使用 Quicktype CLI ( https://quicktype.io/) 来生成模型类。

到目前为止我们遵循的步骤:

  1. 已将 OTA_AirLowFareSearchRQ.jsonschemaOTA_AirLowFareSearchRS.jsonschema 文件下载到文件夹中。
  2. 使用 PowerShell 导航到文件夹并调用 quicktype -s schema OTA_AirLowFareSearchRQ.jsonschema OTA_AirLowFareSearchRS.jsonschema -o SabreAirLowFareSearch.cs

不幸的是,它失败并显示消息“错误:尝试创建一个空的联合 - 您的模式中是否有不可能的类型?”。这似乎与 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();
}
}
}

生成此链接上附加的代码: https://file.io/LlRNsf (我不确定它会在那里持续多久)

您需要为响应执行另一个调用。

关于c# - 从 JSON Schema 为 Saber REST API 生成 C# 模型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50711889/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com