Reputation: 33
I have written these webservice and I want to consume them with vue-view-resource but when I run my browser an error Cross Origin is detected and I can not progressed so I need help to correct the error Cross Origin at the level of spring boot.
@CrossOrigin(origins = "localhost:9090/user")
@RestController
@RequestMapping("/user")
public class UtilisateurController {
@Autowired
private IUtilisateur utilisateurRepository;
@GetMapping("/getAll")
public ResponseEntity findAll() {
return ResponseEntity.ok(utilisateurRepository.findAll());
}
@GetMapping("/getById/{matricule}")
public ResponseEntity rechercheParId(@PathVariable(name="matricule") String matricule) {
if(matricule==null) {
return ResponseEntity.badRequest().body("Impossible de recuperer un utilisateur null");
}
Optional<Utilisateur> utilisateur = utilisateurRepository.findById(matricule);
if(utilisateur == null) {
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok().body(utilisateur);
}
@PostMapping("/create")
public ResponseEntity creeUtilisateur(@RequestBody Utilisateur utilisateur) {
if(utilisateur==null) {
return ResponseEntity.badRequest().body("Impossible de recuperer un utilisateur null");
}
Utilisateur utilisateurCree = utilisateurRepository.save(utilisateur);
return ResponseEntity.ok(utilisateurCree);
}
@DeleteMapping("/delete/{matricule}")
public ResponseEntity supprimerUtilisateur( @PathVariable(name="matricule") String matricule) {
if(matricule == null) {
return ResponseEntity.badRequest().body("Impossible de supprimer un utilisateur, matricule null");
}
Utilisateur utilisateur = utilisateurRepository.getOne(matricule);
if(utilisateur == null) {
return ResponseEntity.notFound().build();
}
utilisateurRepository.deleteById(utilisateur.getMatricule());
return ResponseEntity.ok("Utilisateur supprimé avec succès!");
}
@PostMapping("/login")
public ResponseEntity login( @RequestParam(name="matricule") String matricule, @RequestParam(name = "password") String password) {
if(StringUtils.isEmpty(matricule) || StringUtils.isEmpty(password)) {
return ResponseEntity.badRequest().body("Veuilez renseigner votre login et votre mot de passe SVP");
}
return ResponseEntity.ok("Connexion reussi avec succès!");
}
}
Upvotes: 0
Views: 1204
Reputation: 903
I believe your have to put the origin into the CrossOrigin
not the target. E.g. @CrossOrigin(origins = "http://localhost:8080")
Also, as the error message says, you have to specify a protocol scheme, eg http://
.
Upvotes: 1