簡體   English   中英

從 JSON Schema 為 Sabre REST API 生成 C# 模型類

[英]Generating C# model classes from JSON Schema for Sabre REST API

我們正在實施 Sabre REST API 以在我們的 C# ASP.NET MVC 應用程序中訪問空氣、酒店和車輛內容。

到目前為止,我們在從 Sabre Dev Studio 提供的 JSON Schema 文檔生成 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 Schema 文檔成功生成 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 (我不確定它會在那里持續多久)

您需要為響應執行另一個調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM