Я отправляю данные из реакции на бэкэнд весенней загрузки, используя ax ios. Пожалуйста, обратитесь к приведенному ниже коду реакции.
const handleSubmit = (e) =>{
e.preventDefault()
alert( "Username "+ username + " Password "+password);
axios.post('http://localhost:8080/sign-up',{
username:username,
password:password})
};
Ниже мой код пружины. @PostMapping ("/ sign-up") publi c String signUp (@RequestBody User user) {
if(userRepository.findByUsername(user.getUsername())==null) {
Set<Role> roles= new HashSet<>();
Role role= roleRepository.findByName("USER");
roles.add(role);
user.setRoles(roles);
user.setPassword(bcryptEncoder.encode(user.getPassword()));
userRepository.save(user);
return "Success";
}
else{
return "Username Already Exsist";
}
}
Когда я отправляю данные из внешнего интерфейса, я получаю ответ ниже в консоли браузера.
Access to XMLHttpRequest at 'http://localhost:8080/sign-up' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
xhr.js:178 POST http://localhost:8080/sign-up net::ERR_FAILED
createError.js:16 Uncaught (in promise) Error: Network Error
at createError (createError.js:16)
at XMLHttpRequest.handleError (xhr.js:83)
Я вставил следующую строку в контроллер загрузки пружины.
@CrossOrigin(origins = "http://localhost:3000")
Но вышеуказанное решение не сработало. Я подозреваю, что во время вызова опции post call происходит проверка ресурса, и в этом случае возникает только эта проблема cors. Благодарим за любой вклад в эту проблему.