ServiceStack и возврат потока

Я только начал использовать ServiceStack, который является удивительной библиотекой.

Тем не менее, у меня есть бизнес-требование, при котором мы должны возвращать XML и JSON, где XML должен быть в определенном формате.

Например, у нас есть клиенты, которые ожидают XML в формате:

<code><service name="service1" type="audio" .../>
</code>

так что в основном куча атрибутов.

Я знаю, что ServiceStack использует концепции DTO и использует DataContractSerializer, который возвращает элементы xml, а не в форме выше с атрибутами xml.

Я все еще хочу использовать DTO для запросов (передавая application / xml или application / json в заголовок Accept), и затем я могу создать свои собственные строки xml или json и затем вернуть их как:

<code>string result = "....xml or json string...";
return new MemoryStream(Encoding.UTF8.GetBytes(result));
</code>

где строка результата может быть строкой xml или строкой json.

Я заметил в fiddler Content-Type ответа как text / html.

С подходом, который я использую, я нарушаю какие-либо принципы REST? Будут ли проблемы с Content-Type, как сейчас (text / html)?

Если я использую этот подход, он решает бизнес-требования.

Edit

Я обнаружил, что могу вернуть httpResult как:

<code>return new HttpResult(
         new MemoryStream(Encoding.UTF8.GetBytes(result)), "application/xml");
</code>

который дает правильный тип контента.

Итак, это правильный путь или у меня будут проблемы, если я пойду по этому пути?

Ответы на вопрос(1)

Ваш ответ на вопрос