Swashbuckle: Сделайте необходимые не нулевые свойстваC#

Место общения программистов C#
Ответить
Anonymous
 Swashbuckle: Сделайте необходимые не нулевые свойства

Сообщение Anonymous »

Использование Swashbuckle.aspnetCore В основном веб-приложении ASP.NET у нас есть типы ответов, такие как: < /p>

Код: Выделить всё

public class DateRange
{
[JsonConverter(typeof(IsoDateConverter))]
public DateTime StartDate {get; set;}

[JsonConverter(typeof(IsoDateConverter))]
public DateTime EndDate {get; set;}
}
< /code>

При использовании Swashbuckle для излучения Swagger API JSON, это становится: < /p>

{ ...

"DateRange": {
"type": "object",
"properties": {
"startDate": {
"format": "date-time",
"type": "string"
},
"endDate": {
"format": "date-time",
"type": "string"
}
}
}
...
}
< /code>

Проблема здесь заключается в том, что DateTime < /code> является типом значения и никогда не может быть нулевой; Но испускаемый Swagger API JSON не помечает 2 свойства по мере необходимости 
. Такое поведение одинаково для всех других типов значений: int, long, byte и т. Д. - все они считаются необязательными. < /P>

Чтобы завершить картинку, мы кормим Наш Swagger API JSON TO DTSGENERATOR для генерации интерфейсов TypeScript для схемы ответа JSON. например Класс выше становится: < /p>

Код: Выделить всё

export interface DateRange {
startDate?: string; // date-time
endDate?: string; // date-time
}
< /code>

, что явно неверно. После того, как я немного погрузился в это, я пришел к выводу, что DtsGenerator делает правильные вещи, делая неочищенные свойства, которые были предпочтительными в типографии. Возможно, спецификация Swagger требует явной поддержки для необходимого vs, но сейчас эти 2 соединяются. > Атрибут каждому свойству типа значения, но это охватывает несколько проектов и сотни классов, является избыточной информацией, и ее необходимо поддерживать. Все свойства типа не нулева. Свойства типа не могут быть null 
; Таким образом, атрибут [требуется] < /code> при использовании этих библиотек. Требуется в моем Swagger Json, чтобы соответствовать такому поведению.


Подробнее здесь: https://stackoverflow.com/questions/465 ... s-required
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»