Olá pessoal, como vão? Estou querendo criar um app simples para meu portfólio.
Mas, estou com problema de CORS.
Eu consigo fazer um GET no angular, mas não consigo fazer POST. Vejam meu java:
package br.com.jp.ab.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import br.com.jp.ab.model.Employee;
import br.com.jp.ab.repository.EmployeeRepository;
@Controller
public class EmployeeController {
@Autowired
private EmployeeRepository repository;
@PostMapping("/employees")
@CrossOrigin(methods= RequestMethod.POST, origins= {"http://localhost:4200"})
public void saveEmployee(@RequestParam("nome") String nome,
@RequestParam("sobrenome") String sobrenome,
@RequestParam("participação") int participacao) {
Employee employee = new Employee(nome, sobrenome, participacao);
this.repository.save(employee);
}
@GetMapping("/employees")
@CrossOrigin
public ResponseEntity<List<Employee>> getFuncionarios(){
return ResponseEntity.ok().body(this.repository.findAll());
}
}
No angular eu tenho o proxy.config.js na raiz do projeto. Mesmo assim não consigo fazer POST
const proxy = [
{
context: '/api',
target: 'http://localhost:8080',
pathRewrite: {'^/api' : ''}
}
];
module.exports = proxy;
Alguém sabe o que me falta?