Solucionado (ver solução)
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");

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software