Swashbuckle упаковывает примеры чисел двойными кавычками из комментариев VS XML - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть класс, представляющий тело для конечной точки, в этом классе это свойство 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

...