Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Go Calculator Service

Привет, это Rodef228

Описание

HTTP_Calculator — это простой HTTP-сервис для вычисления математических выражений. Сервис принимает POST-запросы с математическими выражениями и возвращает результат вычислений в формате JSON.

Запуск

go run ./cmd/calc_service/...

Не забудьте, надо находиться в корневой папке!

Использование API с помощью curl

Эндпоинт

URL: http://localhost:8080/api/v1/calculate
Метод: POST
Заголовок: Content-Type: application/json
Тело запроса:

{
    "expression": "expression"
}

Примеры запросов (Windows)

  1. Успешный подсчёт (200)
curl --location 'http://localhost:8080/api/v1/calculate' --header 'Content-Type: application/json' --data '{"expression":"2+2*2"}'

Результат:

{
    "result": 6
}
  1. Некорректное выражение (422)
curl -X POST http://localhost:8080/api/v1/calculate ^ -H "Content-Type: application/json" ^ -d "{\"expression\": \"2+a\"}"

Результат:

{
    "error": "Invalid expression format"
}
  1. Неправильный формат JSON (500)
curl -X POST http://localhost:8080/api/v1/calculate ^ -H "Content-Type: application/json" ^ -d "invalid json"

Результат:

{
    "error": "Internal server error"
}

Запуск тестов

В проекте уже реализованы автоматические тесты для калькулятора и HTTP-обработчиков.

  1. Запустите тесты калькулятора:
go test ./internal/calculator
  1. Запустите тесты обработчиков:
go test ./internal/handlers
  1. Запустите все тесты одновременно:
go test ./...

Вопросы?

Для вопросов и предложений, пожалуйста, создайте issue на GitHub или напишите в телегу: Rodef228

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages