Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Erro 406

Ao testar o metodo Detalhar no postman estou tomando um 406 not acceptable... Segue o codigo:

@GetMapping("/{id}")
    public TopicoDetalhadoDto detalhar(@PathVariable Long id) {
        Topico topico = topicoRepository.getById(id);
        return new TopicoDetalhadoDto(topico);
    }

Classe TopicoDetalhadoDto:

package br.com.alura.forum.dto;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

import br.com.alura.forum.modelo.StatusTopico;
import br.com.alura.forum.modelo.Topico;

public class TopicoDetalhadoDto {

     private Long id;
     private String titulo;
     private String mensagem;
     private LocalDateTime dataCriacao;
     private String nomeAutor;
     private StatusTopico status;
     private List<RespostaDto> respostas; 

     public TopicoDetalhadoDto(Topico topico) {

        this.id = topico.getId();
        this.titulo = topico.getTitulo();
        this.mensagem = topico.getMensagem();
        this.dataCriacao = topico.getDataCriacao();
        this.nomeAutor = topico.getAutor().getNome();
        this.status = topico.getStatus();
        this.respostas = new ArrayList<>();
        this.respostas.addAll(topico.getRespostas().stream().map(RespostaDto::new).collect(Collectors.toList()));    
    }



}
8 respostas

Oi Caio,

Estranho ter dado erro 406.

Posta uma foto aqui da sua requisição no Postman

Rodrigo segue imagem do Postman Desde ja agradeço!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi Caio,

Para dar erro 406 teria que a requisição no postman estar solicitando algum formato diferente de JSON.

Faz um teste, dispara novamente a requisição no postman, mas antes na aba Header adiciona esse cabeçalho:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Testei mas o erro persiste! Isso seria um erro na etapa de teste do Postman ou no meu codigo? Mais uma vez agradeço a resposta!

Oi Caio,

Pois é, é a primneira vez que vejo ocorrer ese erro 406.

Consegue compartilhar seu projeto? pode ser via GitHub ou link do google drive

Caramba! O que sera que eu fiz! hahahaha Segue o link do que fiz até agora!

https://github.com/Caio015/SpringRest

solução!

Oi Caio,

O problema é que na sua classe TopicoDetalhadoDto faltou os métodos getters e com isso o Spring não consegue gerar o JSON do objeto.

Putz! Erro besta! Olhei a classe 200x e nao percebi!

Muito obrigado Rodrigo!