Eu estou com esse erro ao tentar fazer um cadastro pelo fontend:
Access to XMLHttpRequest at 'http://localhost:8080/Projeto' from origin 'http://localhost:5173' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Table.jsx:156 POST http://localhost:8080/Projeto net::ERR_FAILED
que contêm esse código:
const handleFormSubmit = async (e) => {
e.preventDefault();
const { titulo, inicio, encerramento, estado, gestor } = formProjeto;
const dataInicial = inicio
? format(parse(inicio, 'dd-MM-yyyy', new Date()), 'yyyy-MM-dd')
: format(new Date(), 'yyyy-MM-dd');
const encerramentoEmData = parse(encerramento, 'dd-MM-yyyy', new Date());
const dataFinal = format(encerramentoEmData, 'yyyy-MM-dd');
const newRow = {
titulo: titulo,
inicio: dataInicial,
encerramento: dataFinal,
estado: estado.toUpperCase(),
gestor: usuarioLogadoId,
};
try {
const token = JSON.parse(localStorage.getItem('@user'))?.tokenJWT;
if (!token) {
console.error('Token JWT não encontrado no localStorage.');
return;
}
console.log("aaaa"+token);
const response = await axios.post("http://localhost:8080/Projeto", newRow, {
headers: {
Authorization: `Bearer ${token}`,
},
});
if (response.status === 200) {
const updatedRows = [...rows, newRow];
setRows(updatedRows);
localStorage.setItem('formProjeto', JSON.stringify(updatedRows));
handleClose();
return;
}
console.error('Erro ao salvar os dados no backend.');
} catch (error) {
console.error('Erro ao conectar-se ao backend:', error);
}
};
porém passando os dados pelo postman consigo cadastrar fácilmente um projeto passando o body e o token na aba authorization, pode me dizer como posso alterar essa requisição pra funcionar pelo frontend?
estou passando o body assim no postman:
tenho essa classe que configura as permissões de login no backend e mais algumas que posso mostra, caso necessário:
package med.voll.api.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CorsConfiguration implements WebMvcConfigurer {
@Override
public void addCorsMappings( CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD", "TRACE", "CONNECT");
}
}
alguém tem uma solução pra me ajudar?