No modulo 5 do curso do titulo, no video de atividade numero 5, professor ensina como fazer nossa api responder com formato csv. Porém quando crio a string do Livro em csv estou tendo o seguinte erro:
Segue o código completo da minha classe:
using Alura.ListaLeitura.Modelos;
using Microsoft.AspNetCore.Mvc.Formatters;
using System.Text;
using System.Threading.Tasks;
namespace Alura.WebAPI.WebApp.Formatters
{
public class LivroCsvFormatter : TextOutputFormatter //Formato de saída do tipo texto
{
public override Task WriteResponseBodyAsync(OutputFormatterWriteContext context, Encoding selectedEncoding)
{
//Escrever no corpo da resposta meu livro no formato csv
var livroEmCsv = "";
if(!(context.Object is LivroApi))
{
var livro = context.Object is LivroApi;
livroEmCsv = $"{livro.Titulo};{livro.Subtitulo};{livro.Autor};{livro.Lista}";
}
//O Write Factory vai escrever em stream no body
using (var escritor = context.WriterFactory(context.HttpContext.Response.Body, selectedEncoding))
{
escritor.WriteAsync(livroEmCsv);
}//Essa construção com using ja garante que o escritor vai ser fechado depois assim: escritor.Close()
}
}
}