FastAPI¶
Rodzina FAPI sprawdza aplikacje FastAPI między plikami: który router aplikacja dołącza, jakie kody błędów deklaruje schemat OpenAPI (ADR-037). Każda reguła FAPI jest opt-in i żadna nie zgłasza tego, co już zgłaszają reguły FAST Ruffa. W nowym projekcie inwards init --style fastapi włącza je wszystkie jako ostrzeżenia.
| Kod | Nazwa | Co zgłasza | Włączona |
|---|---|---|---|
| FAPI001 | endpoint-metadata |
Operacja ścieżki bez metadanych OpenAPI, których wymaga projekt (podsumowanie, model odpowiedzi, kod statusu) | opt-in |
| FAPI002 | undocumented-error-response |
Operacja ścieżki, która może zwrócić kod błędu (rzucony bezpośrednio, w funkcji pomocniczej albo zależności, albo przez handler wyjątków aplikacji) niezadeklarowany w responses= |
opt-in |
| FAPI003 | router-wiring |
APIRouter z trasami, którego nie dołącza żadna aplikacja, routery dołączające się nawzajem w cyklu albo include_router nad trasami dołączanego routera |
opt-in |
| FAPI005 | route-shadowing |
Operacja ścieżki, na którą wcześniejsza z tą samą metodą już odpowiada: /users/{id} nad /users/me albo ta sama metoda i ścieżka dwa razy |
opt-in |
| FAPI006 | lifespan-events |
Przestarzały handler on_event albo on_startup= (ostrzeżenie) oraz taki obok lifespan=, przez który FastAPI go pomija (błąd) |
opt-in |
| FAPI007 | yield-dependency-swallows |
Zależność z yield, której klauzula except wokół niego nie rzuca wyjątku ponownie, więc błąd endpointu jest ukryty |
opt-in |
| FAPI008 | duplicate-operation-id |
Dwie operacje ścieżki jednej aplikacji z tym samym literalnym operation_id |
opt-in |
| FAPI009 | depends-called |
Depends(get_db()): zależność jest wywoływana przy imporcie zamiast zostać przekazana |
opt-in |
Lista reguł zbiera reguły wszystkich kategorii w jednym miejscu; można ją przeszukiwać, filtrować i sortować.