Настройка и запуск
-
Сборка и запуск сервисов (API Server и Worker):
docker-compose up --build
Примеры API запросов (cURL)
1. Отправка (POST /trades)
-
Успешный запрос:
curl -X POST -H "Content-Type: application/json" -d '{ "account": "ACC001", "symbol": "EURUSD", "volume": 1.5, "open": 1.0750, "close": 1.0780, "side": "buy" }' http://localhost:8080/tradesОжидаемый ответ:
HTTP/1.1 200 OK(без тела ответа, если не изменено). -
Запрос с ошибкой валидации (неверный формат symbol):
curl -X POST -H "Content-Type: application/json" -d '{ "account": "ACC002", "symbol": "eurusd_invalid", "volume": 0.5, "open": 1.1200, "close": 1.1250, "side": "sell" }' http://localhost:8080/tradesОжидаемый ответ:
HTTP/1.1 400 Bad Request(с телом ошибки, описывающим проблему валидации). -
Запрос с отсутствующим обязательным полем (например, account):
curl -X POST -H "Content-Type: application/json" -d '{ "symbol": "GBPUSD", "volume": 1.0, "open": 1.2600, "close": 1.2650, "side": "buy" }' http://localhost:8080/tradesОжидаемый ответ:
HTTP/1.1 400 Bad Request.
2. Получение статистики (GET /stats/{acc})
-
Для существующего аккаунта (после обработки заявок Worker'ом): Замените
{ACC001}на реальный ID аккаунта.curl -X GET http://localhost:8080/stats/ACC001Ожидаемый ответ (пример):
{ "account": "ACC001", "trades": 1, "profit": 450.00 } -
Для несуществующего аккаунта или аккаунта без сделок:
curl -X GET http://localhost:8080/stats/UNKNOWN_ACCОжидаемый ответ:
{ "account": "UNKNOWN_ACC", "trades": 0, "profit": 0 }
3. Проверка состояния сервиса (GET /healthz)
curl -X GET http://localhost:8080/healthz
Ожидаемый ответ: HTTP/1.1 200 OK (тело ответа может быть пустым или содержать "OK").
Description
Languages
Go
91.9%
Dockerfile
6.7%
Makefile
1.4%