Services.md

January 26, 2023 · View on GitHub

Serviços (Services)

Essa é a camada onde ficam as regras de négocio, ela é a responsável por realizar toda a lógica da nossa API.

Dentro dela teremos os métodos para realizarmos as operações e a anotação @Service para dizer ao Spring que essa classe contém as regras de negócio da nossa aplicação, olha só como fica:

@Service
public class CursoService{
    
    private final CursoRepository repository;

    public CursoService(CursoRepository repository) { // OLHA A INJEÇÃO DE DEPENDENCIA VIA CONSTRUTOR
        this.repository = repository;
    }

    public void create(Curso curso){    //CREATE
        repository.save(curso);
    }

    public List<Curso> read(){  //READ
        return repository.findAll();
    }

    public Curso readOne(Long idDoCurso){   //READ ONLY ONE
        return repository.findById(idDoCurso).get();
    }

    public void update(String nomeDoCurso, Long id){ //UPDATE
        Curso cursoExistente = readOne(id);
        cursoExistente.setNomeDoCurso(nomeDoCurso);
        repository.save(cursoExistente);
    }

    public void delete(Long idDoCurso){ //DELETE
        repository.deleteById(idDoCurso);
    }
}

É possível observar que a dependência de CursoRepository é injetada via construtor e logo após temos os métodos que utilizam-se da variável repository.

O ultimo passo é criar nosso controlador.

Ir para: Controllers »