Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
2
respostas

Não estou localizando o location no created

Não localizo a informação location quando eu dou um Response.created("produto/" + id).build() como foi feito na aula. Busquei na internet e vi que tinha que setar uma propriedade ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_RFC7231, porém não sei como fazer e também vi que o instrutor não precisou. Alguém poderia me ajudar??

2 respostas

Willian,

Você está passando no construtor do Response.created uma String e o que você deve passar é uma URI, veja o exemplo:

@POST
    @Consumes(MediaType.APPLICATION_XML)
    public Response adiciona(Carrinho carrinho) {
        new CarrinhoDAO().adiciona(carrinho);
        URI uri = URI.create("/carrinhos/" + carrinho.getId());
        return Response.created(uri).build();
    }
solução!

Já consegui resolver. Coloquei a URI mas tb não estava aparecendo no frontend a location. Descobri que era problema de cors. Tive que expor o header location na configuração do filtro cors através do comando: responseContext.getHeaders().add("Access-Control-Expose-Headers", "Location");