Я использую SwashBuckle с net ядром 3.1, но когда он создает настройки json, он включает TimeSpan в Json, а когда создает код с помощью nswag studo, он также генерирует класс временного интервала. это ошибка или где я сделал не так. это мой код при запуске:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "HR API", Version = "v1" });
});
, как я уже говорил, я использую. net core 3.1 и swa sh пряжка v5.3.3. Как я могу избежать и предотвратить его генерацию промежутка времени. это мое свойство, которое нужно:
public TimeSpan? StartTime {get; set;}
, и это результат, который я извлекаю из генератора кода nswag:
[Newtonsoft.Json.JsonProperty("dayStart", Required = Newtonsoft.Json.Required.Always)]
[System.ComponentModel.DataAnnotations.Required]
public TimeSpan StartTime { get; set; } = new TimeSpan();
и, конечно, он также генерирует класс временного интервала, например, так:
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.1.11.0 (Newtonsoft.Json v12.0.0.0)")]
public partial class TimeSpan
{
[Newtonsoft.Json.JsonProperty("ticks", Required = Newtonsoft.Json.Required.Always)]
public long Ticks { get; set; }
[Newtonsoft.Json.JsonProperty("days", Required = Newtonsoft.Json.Required.Always)]
public int Days { get; set; }
[Newtonsoft.Json.JsonProperty("hours", Required = Newtonsoft.Json.Required.Always)]
public int Hours { get; set; }
[Newtonsoft.Json.JsonProperty("milliseconds", Required = Newtonsoft.Json.Required.Always)]
public int Milliseconds { get; set; }
[Newtonsoft.Json.JsonProperty("minutes", Required = Newtonsoft.Json.Required.Always)]
public int Minutes { get; set; }
[Newtonsoft.Json.JsonProperty("seconds", Required = Newtonsoft.Json.Required.Always)]
public int Seconds { get; set; }
[Newtonsoft.Json.JsonProperty("totalDays", Required = Newtonsoft.Json.Required.Always)]
public double TotalDays { get; set; }
[Newtonsoft.Json.JsonProperty("totalHours", Required = Newtonsoft.Json.Required.Always)]
public double TotalHours { get; set; }
[Newtonsoft.Json.JsonProperty("totalMilliseconds", Required = Newtonsoft.Json.Required.Always)]
public double TotalMilliseconds { get; set; }
[Newtonsoft.Json.JsonProperty("totalMinutes", Required = Newtonsoft.Json.Required.Always)]
public double TotalMinutes { get; set; }
[Newtonsoft.Json.JsonProperty("totalSeconds", Required = Newtonsoft.Json.Required.Always)]
public double TotalSeconds { get; set; }
public string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this);
}
public static TimeSpan FromJson(string data)
{
return Newtonsoft.Json.JsonConvert.DeserializeObject<TimeSpan>(data);
}
}
и Json выглядят так:
"startTime": {
"$ref": "#/components/schemas/TimeSpan"
},
, но перед обновлением до новой версии json было примерно так:
"startTime":{"format":"time-span","type":"string"},