44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
|
|
# Исправление 404 ошибки для /api/v2/purchases/packs/{packId}
|
||
|
|
|
||
|
|
## Проблема
|
||
|
|
|
||
|
|
При запросе `POST /api/v2/purchases/packs/{packId}` возвращается 404 Not Found.
|
||
|
|
|
||
|
|
## Причина
|
||
|
|
|
||
|
|
Файл `purchases_api_v2.g.dart` не сгенерирован. Роутер не может найти маршрут, потому что сгенерированный код отсутствует.
|
||
|
|
|
||
|
|
## Решение
|
||
|
|
|
||
|
|
Нужно запустить code generation для shelf_router:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd mnemo_cards_backend
|
||
|
|
dart run build_runner build --delete-conflicting-outputs
|
||
|
|
```
|
||
|
|
|
||
|
|
Или использовать скрипт:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd mnemo_cards_backend
|
||
|
|
./codegen.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
## После генерации
|
||
|
|
|
||
|
|
1. Перезапустить backend сервер
|
||
|
|
2. Проверить, что файл `lib/api/v2/purchases_api_v2.g.dart` создан
|
||
|
|
3. Протестировать endpoint:
|
||
|
|
```bash
|
||
|
|
POST https://api.mnemo-cards.online/api/v2/purchases/packs/{packId}
|
||
|
|
```
|
||
|
|
|
||
|
|
## Проверка
|
||
|
|
|
||
|
|
После генерации в файле `purchases_api_v2.g.dart` должны быть роуты:
|
||
|
|
- `POST /purchases/packs/<packId>` → `createPackPurchase`
|
||
|
|
- `POST /purchases/payments` → `createPayment`
|
||
|
|
- `GET /purchases/payments/<paymentId>/verify` → `verifyPayment`
|
||
|
|
- `GET /purchases/packs/<packId>/status` → `getPackPurchaseStatus`
|
||
|
|
|