ServiceStack e retornando um fluxo
Acabei de começar a usar o ServiceStack, que é uma biblioteca incrível.
No entanto, tenho um requisito de negócios em que devemos retornar xml e json em que o xml deve estar em formato específico.
Por exemplo, temos clientes existentes que esperam xml do formato:
<code><service name="service1" type="audio" .../> </code>
Então, basicamente, um monte de atributos.
Eu sei que o ServiceStack usa conceitos de DTOs e usa o DataContractSerializer que retorna elementos xml em vez de no formulário acima com atributos xml.
Eu ainda quero usar os DTOs para pedidos (passando em application / xml ou application / json no cabeçalho Accept) e então posso criar minhas próprias strings xml ou json e então retorná-las como:
<code>string result = "....xml or json string..."; return new MemoryStream(Encoding.UTF8.GetBytes(result)); </code>
onde a string resultante pode ser uma string xml ou uma string json.
Notei no violinista a resposta Content-Type como text / html.
Com a abordagem que estou usando, estou violando qualquer princípio REST? Haverá problemas com o Content-Type como é atualmente (text / html)?
Se eu usar essa abordagem, ela resolverá os requisitos de negócios.
Editar
Descobri que posso retornar um httpResult como:
<code>return new HttpResult( new MemoryStream(Encoding.UTF8.GetBytes(result)), "application/xml"); </code>
que fornece o tipo de conteúdo correto.
Então, este é o caminho certo ou terei problemas se eu seguir esse caminho?