Сервис по учету сотрудников предприятия.
Сущность Cотрудника описывается следующим java-классом:
@Entity
@Getter
@Setter
@Table(name = "person")
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
@Column(name = "age")
private Integer age;
}- Запуск проекта
Запустите Postgresql внутри Docker Compose:
docker compose up -dСбилдите проект
./gradlew clean buildЗапустите сервис
cd build/libs
java -jar person-api-0.0.1-SNAPSHOT.jar- Тестирование сервиса
Существуют следующие эндпоиты:
POST /api/v1/persons - Создание сотрудника
GET /api/v1/persons - Получение списка всех сотрудников
GET /api/v1/persons/{id} - Получение сотрудника по ID
PUT /api/v1/persons/{id} - Изменение сотрудника по ID
DELETE /api/v1/persons/{id} - Удаление сотрудника по ID
Примеры тестовых запросов с помощью curl'а:
# Создание сотрудника
curl -X POST http://localhost:8080/api/v1/persons -H 'Content-Type: application/json' -d '{"name":"Sam","age":22}'
# Получение списка всех сотрудников
curl -X GET http://localhost:8080/api/v1/persons -H 'Accept: application/json'
# Получение сотрудника по ID
curl -X GET http://localhost:8080/api/v1/persons/1 -H 'Accept: application/json'
# Изменение сотрудника по ID
curl -X PUT http://localhost:8080/api/v1/persons/1 -H 'Content-Type: application/json' -d '{"name": "Tom", "age": 28}'
# Удаление сотрудника по ID
curl -X DELETE http://localhost:8080/api/v1/persons/1 -H 'Host: localhost:8080'