В этот раз необходимо реализовать простой API для решения квадратного уравнения вида Ax^2 + Bx + C = 0
.
API имеет всего 2 ресурса : /grab
и /solve
. Типы запросов, которые должны поддерживаться:
POST /grab
- считать коэффициенты квадратного уравнения из тела запроса. Завершается кодом201
, а тело запроса выглядит следующим образом :
{
"A" : 10,
"B" : 20,
"C" : 30
}
где "A", "B", "C"
- целочисленные коэффициенты квадратного уравнения. Гарантируется, что хотя бы один из коэффициентов не равен нулю.
GET /solve
- возвращает ответ вида (в случае, если введенные коэффициенты были 10, 20, 30):
{
"A": 10,
"B": 20,
"C": 30,
"Nroots": 0
}
где "Nroots"
- количество вещественных корней уравнения с коэффициентами "A", "B", "C"
. Метод GET /solve
возвращает ответ для последнего на данный момент уравнения, коэффициенты которого были получены при помощи POST /grab
.
Вам гарантируется, что метод GET /solve
будет вызываться только после того, как был осуществлен как минимум один запрос POST /grab
.
Решение должно включать в себя исходники проекта .go
, файл go.mod
, а также коллекцию тестов из postman
. БД использовать не нужно. Можно воспользоваться любым локальным хранилищем в виде мапы или слайса. Решение необходимо загрузить себе на github.com
и прислать ссылку на репозиторий преподавателю в чат.