Для запуска программы можно использовать:
calc.exe
Или в командной строке прописать:
go run main.go
У сервиса 1 endpoint с url-ом /api/v1/calculate. Отправим на этот url POST-запрос с телом:
{
"Expression": "2+2"
}
В ответе получаем HTTP-ответ с телом:
{
"Result": "4"
}
и кодом 200, если выражение вычислено успешно, либо HTTP-ответ с телом:
{
"Error": "2+2j"
}
и кодом 422, если входные данные не соответствуют требованиям приложения — например, кроме цифр и разрешённых операций ты ввёл символ английского алфавита.
Ещё один вариант HTTP-ответа:
{
"Error": "Internal server error"
}
и код 500 в случае какой-либо иной ошибки («Что-то пошло не так»).
curl --location 'http://localhost:8080/api/v1/calculate' \
--header '7: application/gzip' \
--header 'Content-Type: application/json' \
--data '{
"expression": "2+2"
}
'
# github.com/Artem32413/Aplication
..\..\go\pkg\mod\github.com\!artem32413\!aplication@v0.0.0-20241222122836-653112fd55a6\main.go:137:7: implicit function instantiation requires go1.18 or later (-lang was set to go1.16; check go.mod)
..\..\go\pkg\mod\github.com\!artem32413\!aplication@v0.0.0-20241222122836-653112fd55a6\main.go:191:9: implicit function instantiation requires go1.18 or later (-lang was set to go1.16; check go.mod)
Go если что обновлен до последней версии как в осоновном репозитории, так и в импортирующем репозитории. Пробовал решить трабл, не вышло(