Создать .NET-клиент из Swagger - PullRequest
0 голосов
/ 08 января 2019

Какой инструмент можно использовать для генерации .NET-клиента для использования из определения Swagger?

Например, я начал пробовать NSwag Studio и хотел бы иметь возможность генерировать код, похожий на классы репозитория, которые я использовал для создания.

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Вы можете попробовать OpenAPI Generator (https://github.com/OpenAPITools/openapi-generator),, который поддерживает спецификации OpenAPI v2 и v3. (Спецификация OpenAPI v2 ранее была известна как Swagger spec v2)

Существует 3 различных клиентских генератора C #:

  • CSharp
  • CSharp-Netcore
  • CSharp-dotnet2

Проект также включает в себя 2 генератора C # сервера: csharp-nancyfx, aspnetcore

Если вам нужна помощь, откройте вопрос в репозитории Github.

0 голосов
/ 16 января 2019

Вы можете использовать инструмент swagger-codegen из проекта чванства. Он производит файлы C #, которые используют

  • RestClient для HTTP-звонков
  • Newtonsoft.Json для json marshalling
  • .NET DataContract для моделей.

Вы можете загрузить приложение cli или воспользоваться онлайн-редактором . Примеры моделей в зоомагазине выглядят так:

using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using Newtonsoft.Json;

namespace IO.Swagger.Model {

    /// <summary>
    /// 
    /// </summary>
    [DataContract]
    public class Order {
      /// <summary>
      /// Gets or Sets Id
      /// </summary>
      [DataMember(Name="id", EmitDefaultValue=false)]
      [JsonProperty(PropertyName = "id")]
      public long? Id { get; set; }

      /// <summary>
      /// Gets or Sets PetId
      /// </summary>
      [DataMember(Name="petId", EmitDefaultValue=false)]
      [JsonProperty(PropertyName = "petId")]
      public long? PetId { get; set; }
 .... snip ....
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...