Показывать разные примерные значения в NSwag, когда DTO повторно используется в схеме

#c# #swagger #openapi #nswag

#c# #развязность #openapi #nswag

Вопрос:

Я хочу сгенерировать разные значения примера для одного и того же сложного объекта, например:

 public class RequestDto
{
  // ...

  public class EntityDto SomeEntity {get; set;}
  public class EntityDto OtherEntity {get; set;}

  // ...
} 

public class EntityDto
{
  // ...

  /// <example>
  /// TOM
  /// </example>
  public string Name {get; set; }

  // ...
}
  

Для другого значения я хочу, чтобы значение примера отображалось как «МЭРИ», скажем, в сгенерированной спецификации Open API.

Кто-нибудь решал это раньше и может поделиться некоторыми рекомендациями? Заранее большое спасибо.

Ответ №1:

EntityDto .Name — это свойство, которому можно указать один пример, вы можете просто добавить туда МЭРИ.

Или вы можете добавить сводку примеров к определениям SomeEntity и OtherEntity напрямую, например:

 /// <example>
/// TOM
/// </example>
public EntityDto SomeEntity {get; set; }


/// <example>
/// MARY
/// </example>
public EntityDto OtherEntity {get; set; }
  

и свойство name будет определено как:

 /// <example>
/// Name of entity.
/// </example>
public string Name {get; set; }