1
resposta

Internal Server Error (Parte 2)

Mesmo erro do link https://cursos.alura.com.br/forum/topico-internal-server-error-88333.

Só que no meu caso estou em casa então não tem problema com proxy, alguém pode me ajudar? Abaixo estão em ordem: Código, mensagem de erro e mensagem de depuração.

grato.

PS: Códigos: private string EnvolveComAspasDuplas(string valor) { return $""{valor}""; } private HttpContent CreateMultpartFormDataContent(LivroUpload model) { var content = new MultipartFormDataContent();

        content.Add(new StringContent(model.Titulo), EnvolveComAspasDuplas("titulo"));
        content.Add(new StringContent(model.Subtitulo), EnvolveComAspasDuplas("subtitulo"));
        content.Add(new StringContent(model.Autor), EnvolveComAspasDuplas("autor"));
        content.Add(new StringContent(model.Resumo), EnvolveComAspasDuplas("resumo"));            
        content.Add(new StringContent(model.Lista.ParaString()), EnvolveComAspasDuplas("lista"));

        if (model.Capa != null)
        {
            var imagemContent = new ByteArrayContent(model.Capa.ConvertToBytes());
            imagemContent.Headers.Add("content-type", "image/png");
            content.Add(
                imagemContent, 
                EnvolveComAspasDuplas("capa"),
                EnvolveComAspasDuplas("capa.png")
                );
        }
        return content;
    }
    public async Task PostLivroAsync(LivroUpload model)
    {
        HttpContent content = CreateMultpartFormDataContent(model);
        var resposta = await _httpClient.PostAsync("livros", content);
        resposta.EnsureSuccessStatusCode();
    }

Mensagem de erro: HttpRequestException: Response status code does not indicate success: 400 (Bad Request). System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() Alura.ListaLeitura.HttpClients.LivroApiClient.PostLivroAsync(LivroUpload model) in LivroApiClient.cs + resposta.EnsureSuccessStatusCode(); Alura.ListaLeitura.WebApp.Controllers.LivroController.Novo(LivroUpload model) in LivroController.cs + await _api.PostLivroAsync(model); Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)

Depuração: private string EnvolveComAspasDuplas(string valor) é varrido corretamente: if (model.Capa != null) nunca entra em condição verdadeira, mesmo se eu trocar o != por ==

1 resposta

Olá Ronnam, tudo bem?

Tem como compartilhar seu código via Dropbox, Google Drive ou Github, para que eu possa dar uma olhada?

No aguardo!