Przejdź do głównej zawartości

Rozwój API z Codex

Musisz zbudować nowe API do zarządzania zaproszeniami zespołowymi. Wymaga pięciu endpointów, walidacji danych wejściowych, middleware uwierzytelniania, limitowania zapytań, zapytań bazodanowych, powiadomień e-mail i kompleksowych testów. Specyfikacja mówi “dwa dni”. Mógłbyś przebijać się przez to sekwencyjnie. Albo mógłbyś zaplanować API w IDE, zeszkicować trasy w lokalnym wątku, napisać testy w równoległym worktree i zlecić Codex generowanie specyfikacji OpenAPI, podczas gdy ty przeglądasz logikę biznesową.

  • Równoległy przepływ rozwoju API: szkicowanie tras, pisanie testów i generowanie dokumentacji jednocześnie
  • Prompty do budowania endpointów z właściwą walidacją, obsługą błędów i middleware
  • Techniki testowania API w Codex CLI z wbudowanym wykonywaniem poleceń
  • Wzorzec utrzymywania specyfikacji OpenAPI zsynchronizowanej z implementacją za pomocą automatyzacji

Zacznij w rozszerzeniu IDE lub aplikacji Codex z promptem projektowym. Ustalenie kształtu API przed pisaniem kodu zapobiega kosztownym przeróbkom.

Przejrzyj specyfikację i iteruj przed implementacją. To stanie się twoim kontraktem.

Z zdefiniowanym kontraktem API, zeszkicuj właściwe handlery endpointów. Użyj trybu Local, ponieważ chcesz pliki w swoim katalogu roboczym.

Po wygenerowaniu plików przez Codex przejrzyj je w panelu recenzji aplikacji. Dodaj do staging i commituj szkic przed przejściem do równoległej pracy.

Utwórz wątek Worktree oparty na gałęzi z twoimi zeszkicowanymi trasami. Agent testowy działa w pełnej izolacji — może wielokrotnie uruchamiać zestaw testów bez ingerencji w twój lokalny development.

CLI jest doskonałe do szybkiego testowania API, ponieważ możesz wykonywać polecenia inline. Uruchom Codex z serwerem dev działającym w innym terminalu:

Okno terminala
codex

Następnie testuj swoje endpointy interaktywnie:

CLI wykonuje polecenia curl bezpośrednio i pokazuje ci odpowiedzi. To interaktywne testowanie łapie problemy, których testy jednostkowe nie wykryją — kolejność middleware, wymagania nagłówków, niespójności formatu odpowiedzi.

Po przetestowaniu i uruchomieniu API wygeneruj (lub zaktualizuj) specyfikację OpenAPI z faktycznej implementacji:

Skonfiguruj automatyzację, aby utrzymywać specyfikację zsynchronizowaną:

Schematy Zod i schemat bazy danych rozjeżdżają się. Jeśli definiujesz schematy walidacji Zod oddzielnie od schematu Drizzle ORM, mogą się rozjechać. Powiedz Codex: “Derive Zod schemas from the Drizzle schema types where possible. Do not duplicate type definitions.”

Testy przechodzą lokalnie, ale nie w worktree. Dzieje się tak, gdy baza danych worktree nie została skonfigurowana. Upewnij się, że twój skrypt konfiguracji lokalnego środowiska uruchamia migracje bazy danych. Sprawdź zintegrowany terminal (Cmd + J) pod kątem błędów skryptu konfiguracyjnego.

Testy limitowania zapytań są niestabilne. Testy limitów zapytań zależne od czasu są z natury niestabilne. Powiedz Codex: “For rate limiting tests, send requests in a tight loop without delays, and verify the status code switches from 200 to 429 after the configured limit. Do not rely on time-based windows in tests.”

Wygenerowana specyfikacja OpenAPI nie odpowiada oczekiwaniom konkretnego konsumenta. Codex generuje specyfikację z twojego kodu, ale konsumenci twojego API mogą oczekiwać innych nazw pól lub kształtów odpowiedzi. Po wygenerowaniu przejrzyj specyfikację pod kątem faktycznych wymagań konsumentów. Uwzględnij ograniczenia specyficzne dla konsumenta w wytycznych przeglądu AGENTS.md.