2
respostas

Erro 403 em Novas Ofertas

Estou recebendo dois erros na hora de enviar uma requisição de nova oferta, já refiz as últimas aulas algumas vezes mas não achei como resolver estes dois erros.

Sendo eles:

isAxiosError.js:10 POST http://localhost:8080/api/ofertas 403

e

isAxiosError.js:10 Uncaught (in promise) Error: Request failed with status code 403 at e.exports (isAxiosError.js:10) at e.exports (isAxiosError.js:10) at XMLHttpRequest.l.onreadystatechange (isAxiosError.js:10)

O que eu deveria fazer para resolve-los? Quais códigos eu posso enviar aqui para conferirem se eu fiz algo de errado?

Obrigado.

2 respostas

Olá, Eu também estava tendo o mesmo erro, devido ao CORS, revisando meu WebSecurityConfig.java, me dei conta que estava faltando um .crsf().disable() no metodo configure.

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
        .csrf().disable()
        .authorizeRequests()....

Funcionou após isso.

Rafael Paladini vi que você teve um erro de 500 (The given id must not be null!) e resolveu em um post. Eu também tive esse erro e não consegui resolver. Tenho os getters e setters normal:

O erro da na minha classe OfertaRest, mais precisamente nesta linha: Optional<Pedido> pedidoBuscado = repository.findById(novaOfertaRequest.getPedidoId());.

Classe RequisicaoNovaOferta:

public class NovaOfertaRequest { private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy"); private Long pedidoId; private String valor; private String dataDaEntrega; private String comentario;

public Long getPedidoId() {
    return this.pedidoId;
}

public void setPedidoId(Long pedidoId) {
    this.pedidoId = pedidoId;
}

...

Classe OfertaRest:

public class OfertaRest {
    @Autowired
    private PedidoRepository repository;

    @PostMapping
    public Oferta criaOferta(NovaOfertaRequest novaOfertaRequest) {
        Optional<Pedido> pedidoBuscado = repository.findById(novaOfertaRequest.getPedidoId());

        if (!pedidoBuscado.isPresent()) {
            return null;
        }

        Pedido pedido = pedidoBuscado.get();
        Oferta oferta = novaOfertaRequest.toOferta();

        oferta.setPedido(pedido);
        pedido.getOfertas().add(oferta);

        repository.save(pedido);

        return oferta;
    }
}

Se poder me ajudar agradeço!