<repo_name>MairaCelestino/consultorio-api<file_sep>/src/main/java/com/celestino/consultorio/model/repository/PacienteRepository.java
package com.celestino.consultorio.model.repository;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.apache.tomcat.util.digester.SetPropertiesRule;
import org.springframework.stereotype.Service;

import com.celestino.consultorio.model.Paciente;

//está classe representa uma chamada á base de dados
@Service
public class PacienteRepository {

	private Integer nextPrimaryKey = 1;

	// Lista de pacientes para retornar
	private List<Paciente> pacientes;

	// Método que retorna listagem de pacientes
	public List<Paciente> findAll() {

		return getPacientes();
	}

	// Retorna lista inicializada caso necessário
	public List<Paciente> getPacientes() {
		if (pacientes == null) {
			pacientes = new ArrayList<Paciente>();

			// Cria paciente usando contrutor
			Paciente p1 = new Paciente(Long.valueOf(nextPrimaryKey.longValue()), "Maira", "<EMAIL>",
					18);

			nextPrimaryKey++;

			// Cria objeto paciente usando os métodos setters
			Paciente p2 = new Paciente();
			p2.setId(Long.valueOf(nextPrimaryKey.longValue()));
			p2.setNome("Anderson");
			p2.setEmail("<EMAIL>");
			p2.setIdade(24);

			nextPrimaryKey++;

			Paciente p3 = new Paciente();
			p3.setId(Long.valueOf(nextPrimaryKey.longValue()));
			p3.setNome("Bianca");
			p3.setEmail("<EMAIL>");
			p3.setIdade(30);

			nextPrimaryKey++;

			// Insere na lista
			getPacientes().add(p1);
			getPacientes().add(p2);
			getPacientes().add(p3);

			// Outra forma de popular uma lista
			// return Arrays.asList(p1, p2, p3);
		}
		return pacientes;
	}

	// Buscar paciente pelo id
	public Paciente findById(Long id) {
		for (Paciente paciente : getPacientes()) {
			if (paciente.getId().equals(id)) {
				return paciente;
			}
		}
		return null;
	}

	public Boolean deleteById(Long id) {
		for (Paciente paciente : getPacientes()) {
			if (paciente.getId().equals(id)) {

				getPacientes().remove(paciente);
				return true;

			}
		}
		return false;

	}

	public Paciente insertPaciente(Paciente paciente) {

		paciente.setId(Long.valueOf(nextPrimaryKey.longValue()));
		getPacientes().add(paciente);
		nextPrimaryKey++;

		return paciente;
	}

	public Paciente updatePaciente(Paciente paciente) {

		Paciente pacienteAtualizado = null;

		for (Paciente p : getPacientes()) {

			if (p.getId().equals(paciente.getId())) {
				if (!p.getNome().equals(paciente.getNome())) {
					p.setNome(paciente.getNome());
				}
				if (!p.getIdade().equals(paciente.getIdade())) {
					p.setIdade(paciente.getIdade());
				}
				if (!p.getEmail().equals(paciente.getEmail())) {
					p.setEmail(paciente.getEmail());
				}

				pacienteAtualizado = p;
			}

		}

		return pacienteAtualizado;
	}

}
<file_sep>/src/main/java/com/celestino/consultorio/controller/test/Test.java
package com.celestino.consultorio.controller.test;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/test")
public class Test {
	
	@GetMapping  //EndPoint
	public String test() {
		return "A API REST ESTÁ FUNCIONANDO!";
	}

}
