IouRestService (Spring Boot Application)
Решение задачи 5 https://t.me/try2py/197
Условие задачи: Четверо соседей по комнате имеют привычку занимать деньги друг у друга, но им трудно вспомнить, кто кому должен и сколько. Ваша задача состоит в том, чтобы реализовать простой > API (желательно следовать принципу REST, если знакомы с ним), который создаёт долговые расписки в виде POST-запросов и может предоставлять информацию о долгах с помощью GET-запросов.
REST API
Список пользователей
request:
GET http://localhost:8080/api/v1/user
request body: empty
output:
{
"users": [
{
"id": 1,
"name": "Andrey"
},
{
"id": 2,
"name": "Timofei"
},
{
"id": 3,
"name": "Jimmy"
}
]
}
Список долговых расписок
request:
GET http://localhost:8080/api/v1/iou
request body: empty
output:
{
"notes": [
{
"id": 1,
"lender": {
"id": 1,
"name": "Andrey"
},
"borrower": {
"id": 2,
"name": "Timofei"
},
"amount": 100.0
},
{
"id": 2,
"lender": {
"id": 1,
"name": "Andrey"
},
"borrower": {
"id": 2,
"name": "Timofei"
},
"amount": 120.5
},
{
"id": 3,
"lender": {
"id": 1,
"name": "Andrey"
},
"borrower": {
"id": 2,
"name": "Timofei"
},
"amount": 13.5
}
]
}
Список просуммированных долговых расписок
request
GET http://localhost:8080/api/v1/iou/summed
request body: empty
output:
{
"notes": [
{
"lender": {
"id": 1,
"name": "Andrey"
},
"borrower": {
"id": 2,
"name": "Timofei"
},
"amount": 234.0
}
]
}
Добавить пользователя
request:
POST http://localhost:8080/api/v1/user
request body: { "name": "Jimmy" }
output:
{
"id": 3,
"name": "Jimmy"
}
Добавить долговую расписку
request:
POST http://localhost:8080/api/v1/iou
request body: {
"lender": 1,
"borrower": 2,
"amount": 13.50
}
output:
{
"id": 3,
"lender": {
"id": 1,
"name": "Andrey"
},
"borrower": {
"id": 2,
"name": "Timofei"
},
"amount": 13.5
}
Удалить пользователя
request:
DELETE http://localhost:8080/api/v1/user
request body: { "id": 3 }
output:
{
"message": "success"
}
Удалить долговую расписку
request:
DELETE http://localhost:8080/api/v1/iou
request body: { "id": 3 }
output:
{
"message": "success"
}