У меня есть веб-сервис REST, реализованный с использованием ASP. NET Web API. Мне нужно добавить звонок, чтобы присоединиться к документам. Таким образом, этот вызов передается массиву документов, они объединяются в переданном порядке, а затем возвращается один документ.
Проблема в том, что документы можно передать тремя различными способами.
- Фактический файл, передаваемый как закодированная в base64 копия битов.
- URL-адрес файла.
- Указатель, который идентифицирует файл, который мы сохранили.
Так что мне нужно что-то вроде:
[DataMember]
public Data | Url | Guid [] Files { get; set; }
Или поставить его как XML:
<files>
<Data>01034f2d...</Data>
<Url>http://data.files.com/mystuff/HiThere.pdf</Url>
<Guid>38D2C12D-6D6D-4353-A8BD-A8B09DB177EF</Guid>
<Url>http://data.files.com/mystuff/HelloThere.pdf</Url>
<Guid>C6501830-18E6-4A76-BA13-96D5BE031D5A</Guid>
</files>
Проблема в том, что я могу заказать у него этого нет, потому что он не позволяет упорядочивать типы:
[DataMember]
public string [] Data { get; set; }
[DataMember]
public string [] Url { get; set; }
[DataMember]
public string [] Guid { get; set; }
Как я могу это сделать?