В настоящее время я работаю над документированием API, в котором происходит какая-то прикольная xml сериализация "Tricks" Это сторонний API, который я хочу обернуть, а также предоставить нашим клиентам файл swagger, который показывает и XML, и JSON (тогда оболочка всегда будет отправлять XML стороннему API).
Первая проблема заключается в следующем классе:
public class DistanceValue
{
/// <remarks />
[XmlAttribute]
public DistanceUOMType UOM { get; set; }
/// <remarks />
[XmlText]
public decimal Value { get; set; }
}
Это представляется как <Distance UOM="Mi">305.0</Distance>
в XMl.
Поскольку я хочу сохранить изменения входного объекта в Оболочка минимальная (в основном, поэтому мне не нужно, чтобы наши существующие клиенты обновляли свой код, чтобы использовать новый сервис) Я застрял, пытаясь описать сторону xml чванства.
У меня сейчас есть это :
DistanceValue:
type: object
properties:
uom:
format: string
xml:
attribute: true
enum:
- MI
- KM
type: string
value:
format: double
type: number
Который приближается, когда выходит следующее (атрибут)
<distance uom="MI">
<value>0</value>
</distance>
Проблема в том, что я не вижу в openapi 2.0 spe c (опять третий партийные ограничения) как получить нулевое значение как xml текст