1
resposta

Problema ao fazer um request do tipo POST

Olá, estou tentando fazer um request do tipo POST com Bearer token para um endpoint. Quando realizo essa requisição pelo postamn ele retorna normalmente, mas quando é realizado pelo método que criei usando api RestTemplate do java, ele dá o erro "401 Unauthorized". Segue o código abaixo:

public <T> T sendRequestWithBody(String urlRequest, String jsonValue){
        HttpHeaders header = new HttpHeaders();
        header.set("Autorization", "Bearer  ".concat(getToken()));

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("query", jsonValue);

        RestTemplate restTemplate = new RestTemplate();
        HttpEntity<?> request = new HttpEntity<>(jsonObject.toString(), header);

       ParameterizedTypeReference<T> typeRef = new ParameterizedTypeReference<T>() {
       };

       ResponseEntity<T> response = restTemplate.exchange(urlRequest, HttpMethod.POST, request, typeRef);

        return response.getBody();
    }

Alguém poderia dar uma ajuda? Obs: Fiz um método bem parecido com esse para pegar o token, e ele gera normalmente

1 resposta

Olá, Raphael! Tudo bem?

Pelo código que você compartilhou, parece que o problema está na configuração do header de autorização. Notei que você está utilizando "Autorization" em vez de "Authorization". Será que essa pequena diferença de digitação está causando o erro "401 Unauthorized"?

Você poderia tentar corrigir essa linha para:

header.set("Authorization", "Bearer ".concat(getToken()));

Além disso, verifique se o token retornado pelo método getToken() está correto e válido. Caso contrário, o servidor pode estar negando o acesso e retornando o erro "401 Unauthorized".

Espero ter ajudado e bons estudos!

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