У меня есть класс, представляющий тело для конечной точки, в этом классе это свойство Amount
, оно выглядит так:
/// <summary>
/// The transaction amount; it must be greater than 0
/// </summary>
/// <example>1.23</example>
[JsonProperty("Amount")]
[Required]
public decimal Amount { get; set; }
Проблема, с которой я сталкиваюсь, заключается в том, что когда Swashbuckle генерируетJSON для этого примера тела запроса, в итоге значение Amount
оборачивается двойными кавычками:
{
"Amount": "1.23"
}
Я хочу, чтобы оно выглядело как число, например:
{
"Amount": 1.23
}
Если я не приведу пример тега XML, пример тела запроса, сгенерированный в SwaggerUI, будет просто 0.0
без двойных кавычек, например:
{
"Amount": 0.0
}
Часть комментариев XML, сгенерированная изв этом примере нет кавычек:
<member name="P:MyAPI.Models.SaleRequest.Amount">
<summary>
The transaction amount; it must be greater than 0
</summary>
<example>1.23</example>
</member>
Но JSON, сгенерированный из Swashbuckle, имеет:
"SaleRequest": {
"required": [
"Amount"
],
"type": "object",
"properties": {
"Amount": {
"format": "decimal",
"description": "The transaction amount; it must be greater than 0",
"type": "number",
"example": "1.23"
}
}
}
Есть ли способ, которым я могу сказать Swashbuckle, чтобы не переносить этот тег XML-примера длясвойство числа с двойными кавычками?Я долго искал и ничего не могу найти.Я пробовал c.MapType<decimal>(() => new Schema { Type = "number", Format = "decimal" });
из другого поста при настройке swagger, но это ничего не изменило.Я не видел никаких атрибутов, которые можно было бы применить к свойству в исходном коде.Я использую Swashbuckle 4.0.1