String url = new StringBuilder().append("https://...").toString();
Map<String, Map<String, String>> body = buildBotBody(email,message);
restTemplate.postForEntity(url, body, Void.class);
Essa requisição não precisa de autenticação, ou seja não tem login e senha. Fazendo essa requisição no Postman funciona perfeitamente. Mas quando executo o código acima, obtenho o erro abaixo:
era so isso mesmo para funcionar. pq quando a requisicao sai do browser precisa habilitar o cors. no postman voce nao tera problemas. tenta tirar o https, usa so o http mesmo
curl é um formato de requisição que o postman permite gerar, queria ver essa informação pra sugerir o que poderia estar faltando no seu código!
Mas pelo que você me disse, acredito que falte algum header, verifique todos os cabeçalhos que a request contém no postman e aplique na sua chamada do restTemplate!
eu coloquei uma api no heroku, sem spring-security security e funciona bl. O client é react. No seu caso deve estar faltando colocar algum header na requisicao
@RestController
@RequestMapping(value = "/aniversariantes")
public class AniversariantesController {
@Autowired
private AssistidoService pessoaService;
@GetMapping
@ResponseStatus(value = HttpStatus.OK)
@CrossOrigin
public ResponseEntity<List<Assistido>> listarAniversariantes(Integer mes) {
return ResponseEntity.ok().body(pessoaService.listarAniversariantes(mes));
}
}
eu ate havia colocado o spring-security mas esta desativado.
Na sua request você está passando todos os parâmetros corretamente?
Analisando pelo curl que me enviou, acredito que você não esteja fornecendo todos os parâmetros da requisição, por este motivo ocorre o erro 401!
Parâmetros necessários:
api-version: 2016-06-01 /*Sem ele causa um 400*/
sp: %2Ftriggers%2Fmanual%2Frun /*Sem ele causa um 400*/
sv: 1.0 /*Sem ele causa um 400*/
sig: zxm46aQnBj3ZTKPOddnnwUgtQZoQcQfixNtXVxAJjPg /*Sem ele causa um 401*/
É bem estranho este comportamento, muito provavelmente é algo com o formato em que o restTemplate envia a request, pois não faz sentido a mesma request que funciona no postman falha na aplicação!