Referencia
Všetky triedy sú pod Tomaj\NetteApi.
Jadro
| Trieda | Čo robí | Príručka |
|---|---|---|
ApiDecider | register endpointov: addApi(), getApi(), getApis(), enableGlobalPreflight() | Architektúra |
Api | jeden zaregistrovaný endpoint: endpoint, handler, autorizácia, obmedzenie požiadaviek | Architektúra |
ApiHolder | používa ho ApiDecider: ako uchováva endpoint pred vytvorením handlera; handler môže byť ešte názov triedy alebo služby | ApiDecider |
EndpointIdentifier / EndpointInterface | metóda, verzia, balík, akcia | Handlery |
Presenters\ApiPresenter | spracuje požiadavku krok po kroku | Spracovanie v ApiPresenteri |
Handlery
| Trieda | Čo robí | Príručka |
|---|---|---|
Handlers\ApiHandlerInterface, BaseHandler | vaše endpointy | Handlery |
Handlers\OpenApiHandler | OpenAPI 3.0 dokument | OpenAPI |
Handlers\ApiListingHandler | JSON zoznam endpointov vo vlastnej verzii | Handlery |
Handlers\AlwaysOkHandler, EchoHandler | health check a testovacie endpointy | Handlery |
Handlers\DefaultHandler | 404 Unknown api endpoint | Architektúra |
Handlers\CorsPreflightHandler(Interface) | odpovedá na OPTIONS | CORS |
Parametre a validácia
| Trieda | Čo robí | Príručka |
|---|---|---|
Params\GetInputParam, PostInputParam, PutInputParam, CookieInputParam, FileInputParam, RawInputParam, JsonInputParam | každá jeden vstup | Parametre |
Params\InputParam, ParamInterface, ParamsProcessor | základná trieda a spracovanie | Parametre |
Validation\InputValidator, JsonSchemaValidator, InputType (enum) | kontroly hodnôt | Parametre |
ValidationResult\ValidationResult(Interface) | výsledok kontroly | Parametre |
Odpovede a výstupy
| Trieda | Čo robí | Príručka |
|---|---|---|
Response\ResponseInterface | čo implementuje každá odpoveď | Výstupy |
Response\JsonApiResponse, TextApiResponse, XmlApiResponse, RedirectResponse | čo vracia handle() | Výstupy |
Output\JsonOutput, RedirectOutput, AbstractOutput, OutputInterface | deklarované výstupy | Výstupy |
Output\Configurator\ConfiguratorInterface, EnvConfigurator, QueryConfigurator, DebuggerConfigurator | kedy kontrolovať výstupy a zobrazovať detaily | Výstupy |
Error\ErrorHandlerInterface, DefaultErrorHandler | chybové odpovede | Spracovanie chýb |
Bezpečnosť
| Trieda | Čo robí | Príručka |
|---|---|---|
Authorization\NoAuthorization, BearerTokenAuthorization, HeaderApiKeyAuthentication, QueryApiKeyAuthentication, CookieApiKeyAuthentication, BasicAuthentication | vstavaná autorizácia | Autorizácia |
Authorization\ApiAuthorizationInterface, TokenAuthorization | vlastná autorizácia | Autorizácia |
Misc\TokenRepositoryInterface, StaticTokenRepository | tokeny a ich IP | Autorizácia |
Misc\IpDetectorInterface, IpDetector, StaticIpDetector | IP klienta | Autorizácia |
RateLimit\RateLimitInterface, RateLimitResponse, NoRateLimit | obmedzenie požiadaviek | Obmedzenie požiadaviek |
Logovanie, odkazy a konzola
| Trieda | Čo robí | Príručka |
|---|---|---|
Logger\ApiLoggerInterface | log požiadaviek | Logovanie |
Link\ApiLink, ApiLinkExtension, ApiLinkNode | URL a tag {apiLink} | Odkazy |
Component\ApiListingControl, ApiConsoleControl, ApiConsoleFormFactoryInterface, DefaultApiConsoleFormFactory | webová konzola | Webová konzola |
Misc\ConsoleRequest, ConsoleResponse | cURL požiadavka konzoly | Webová konzola |
Misc\CorsOriginAllowlist | interné (@internal), používa ho setCorsAllowedOrigins(); vo 4.0 sa môže zmeniť | CORS |
Misc\OpenApiTransform | pomocné funkcie pre OpenAPI | OpenAPI |
Časté otázky
Ktoré triedy sú final?
Presenters\ApiPresenter, Error\DefaultErrorHandler, Latte triedy Link\ApiLinkExtension a Link\ApiLinkNode a interná Misc\CorsOriginAllowlist sú final; namiesto dedenia ich obaľte. Pozrite si Spracovanie chýb.
Od verzie 4.0 sú final aj: Api, ApiHolder, EndpointIdentifier, Authorization\NoAuthorization, RateLimit\NoRateLimit, RateLimit\RateLimitResponse, Misc\IpDetector, Misc\StaticIpDetector, Misc\StaticTokenRepository, Misc\ConsoleRequest, Misc\ConsoleResponse, Misc\OpenApiTransform, Params\ParamsProcessor, Validation\InputValidator, Validation\JsonSchemaValidator, ValidationResult\ValidationResult, výstupné konfigurátory DebuggerConfigurator, EnvConfigurator a QueryConfigurator a OpenApi\SchemaRegistry a OpenApi\EndpointFilter. Namiesto dedenia implementujte príslušné rozhranie (IpDetectorInterface, TokenRepositoryInterface, ApiAuthorizationInterface, RateLimitInterface, ConfiguratorInterface, …). Handlery, parametre, výstupy, odpovede, autorizácie, OpenAPI buildery, ApiDecider, ApiLink, komponenty konzoly a DefaultApiConsoleFormFactory sa dajú ďalej rozširovať.
Kde nájdem signatúry metód?
V zdrojovom kóde na GitHube; stránky príručky ukazujú tie, ktoré používate.
Ktoré triedy sú zastarané?
Žiadne. setExample() pri parametroch a výstupoch bolo vo verzii 4.0 odstránené; použite addExample(). Staré StaticBearerTokenRepository a BearerTokenRepositoryInterface boli vo verzii 4.0 odstránené. Použite StaticTokenRepository a TokenRepositoryInterface, ktoré fungujú rovnako.
Existuje DI rozšírenie?
Nie, všetko sa registruje ako bežné služby v NEON, pozrite si Začíname.
Ako vyzerá celý projekt?
Pozrite si príklady.