Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 19:17
    f3l1x commented #139
  • 19:13
    martenb commented #139
  • 19:10
    f3l1x commented #139
  • 18:48
    martenb commented #139
  • 16:47
    f3l1x commented #139
  • Oct 27 13:27
    carloscz opened #142
  • Oct 21 07:36
    racinmat opened #141
  • Oct 21 07:31

    f3l1x on master

    Update README.md Activate Swag… (compare)

  • Oct 21 07:31
    f3l1x closed #36
  • Oct 21 07:26
    racinmat edited #37
  • Oct 21 07:25
    racinmat opened #37
  • Oct 13 15:13
  • Oct 05 13:49
    Zrnik closed #140
  • Oct 05 13:49
    Zrnik commented #140
  • Oct 05 13:23
    Zrnik commented #140
  • Oct 05 13:22
    Zrnik commented #140
  • Oct 05 13:20
    Roman3349 commented #140
  • Sep 30 19:36
    Ivorius opened #36
  • Sep 30 19:33
  • Sep 27 16:05
Milan Felix Šulc
@f3l1x
Miroslav Nový
@miranovy
@Attanon @f3l1x Já požívám pro POST přímo @RequestMapper(entity="App\Controllers\Entity\Request\ConvertRequest")
Miroslav Nový
@miranovy
@f3l1x Milane, neměla by chyba při validaci entity pomocí anotace RequestMapper vrátit 400 stejně jako validaci při RequestParameter? Nevím jaký s tím máš zámysl. Za mě dává smysl, aby se obojí chovalo stejně. Možná je jen špatně dokumentace k RequestParameter, protože nemůžu v kódu najít něco jako https://github.com/planette/forest-project/blob/master/app/model/Api/Dispatcher/JsonDispatcher.php#L50-L64.
Jakub Vrchota
@Attanon
@f3l1x díky moc, tam je asi vše co mě zatím zajímalo :-)
Milan Felix Šulc
@f3l1x
Nz. :-)
matak
@matak
ahoj, snažím se několik hodin rozjet verzi dev-master 0.5, už jsem zkoušel příklady nette/simple, fullstack, zkoušel sem je upravit, ale marně, nevíte někdo, která poslední verze je použitelná?
matak
@matak
resp. podařilo se mi rozjet verzi bez integrace do nette, a asi nakonec dokážu s tím žít, v sekci /api se obejdu bez presenterů
jen mám ještě jeden dotaz, máte nějaký ověřený postup na vrácení xml response?
Martin Brettschneider
@martenb
zatím jsem nezkoušel, ale v dokumentaci je zmíněné...
https://github.com/apitte/negotiation/blob/master/.docs/README.md#transformers
matak
@matak
díky k tomu se asi ještě dostanu, teď bojuji s tím, že na lokálu vše jede, na produkčním ani omylem
pořád to hází 500vku
přitom žádný error se nikam nezapíše, zkouším debugovat a stane se to vždy na tomto místě https://github.com/contributte/middlewares/blob/master/src/Application/MiddlewareApplication.php#L56 a to posílám pouze hlavičku
header("Content-Type: application/json", false)
matak
@matak
mimochodem tato hlavicka na lokale zpusobuje ze neni videt debug bar
jak je tohle myšleno?
matak
@matak
Tak hlavička vyřešená, pull request už je mergnutý, teď se marně snažím rozjet trycatch middleware, nějak mi nejde nahradit klasický simpleerrorhandler
Milan Felix Šulc
@f3l1x
Ahoj. Teda, tolik zprav. :-) v0.5 je vyvojova, my na ni fungujeme, ale pokud si nejsi 100% jisty, tak bych doporucoval v0.4.
Tracy neni videt, pokud se posila content-type: application/json. Budto to musis zvladnout bez ni a nebo si tam pridat apitte/negotiation a apitte/debug a pak muzes vyuzit URL example.com/api/user.debug. Coz je dost navykove :-)
matak
@matak
  1. jak jsem psal v emailu matouci je ze vyjimky je potreba zachytavat zvlast v middlewaru tak v decoratoru pro controllery, takže potřebuješ jak SimpleErrorHandler tak TryCatchMiddleware
  1. aha, application/json zajimave, ale upravou v url na .debug bych to mel prebit? coz ale znamena ze debug plugin mam jen nefunguje
Milan Felix Šulc
@f3l1x
Apitte samo o sobe nema ekosystem middlewaru. Muze to fungovat i bez toho. A teprve balicek contributte/middlewares ti nastavuje middleware prostredi. Tim padem jsou to dve oddelene vrstvy a kazda z nich ma svoje vyjimky.
Ondrej Hatala
@SpareParts
Ahoj, snazim sa pouzit @RequestMapper ale Apitte\Core\Mapping\Request\BasicEntity nerobi ziadnu normalizaciu, ma niekto niekde napisanu nejaku rozumnejsiu? Hodilo by sa mi aby integer z requestu neprichadzal ako string, a true/false/1/0/yes/no boli konvertovane na boolean atd. Predpokladam ze to uz niekto riesil :)
Milan Felix Šulc
@f3l1x
Ahoj @SpareParts
Pouziva to symfony/serializer.
Milan Felix Šulc
@f3l1x
Uz neexistuje apitte/playground, ale nebojte se, vse se presunulo zde https://github.com/planette/playground.
Jsou tam ukazky i z dalsich balicku, ktere vam prijdou vhod.
Ondrej Hatala
@SpareParts
dnes rano som pisal do composer.json aliasy "dev-master as 0.5.0" pre vsetky apitte balicky a poobede mi releasnete 0.5 naostro tak to mozem zase prepisovat naspat :D /jk
Milan Felix Šulc
@f3l1x
@SpareParts To je pech no :-D
Marek Bartoš
@mabar
ℹ️ If anyone here don't know - you can join slack channel of pehapkari.cz
ℹ️ There is much more active #contributte room for our projects Contributte, Apitte and Nettrine
Martin Brettschneider
@martenb

Ahoj, můžete mě nakopnout, jak zprovoznit TracyToPsrLoggerAdapter?
Když přidám do config.neon

services:
    - {class: Tracy\Bridges\Psr\TracyToPsrLoggerAdapter}

tak to nefunguje, dokud nezakomentuji tuto podmínku https://github.com/apitte/core/blob/master/src/DI/Plugin/CoreServicesPlugin.php#L51

Marek Bartoš
@mabar
Zkus místo class dát factory
Martin Brettschneider
@martenb
To jsem zkoušel, nefunguje...
Marek Bartoš
@mabar
Zatím si přepiš službu v DI manuálně, bude tam bug.
Nejsem si jistý názvem služby, ale nějak takhle by ti to mělo fungovat
services:
  api.services.errorHandler:
    factory: Apitte\Core\ErrorHandler\PsrLogErrorHandler
Martin Brettschneider
@martenb
Zkusím, díky
Martin Brettschneider
@martenb
Tak potvrzuji, že toto funguje...
services:
    - {class: Tracy\Bridges\Psr\TracyToPsrLoggerAdapter}
    api.core.errorHandler: {class: Apitte\Core\ErrorHandler\PsrLogErrorHandler}
Marek Bartoš
@mabar
@martenb Můžeš zkusit stáhnout master, už by to mělo fungovat automaticky
Volf Tomáš
@Vlczech
Ahoj, může mě někdo nakopnout, jak rozchodit v Apitte 0.6 logování 500 místo zapisování posílání v jsonu v response? Dík
Marek Bartoš
@mabar
@Vlczech Mrkni o komentář víš, stačí vyměnit error handler. V 0.7 (dev-master) už se registruje PsrLogErrorHandler automaticky, stačí mít v DI PSR-3 logger
Volf Tomáš
@Vlczech
@mabar To jsem právě zkoušel (taky díky tomu jsem se dostal hledáním až sem), ale s neúspěchem pod 0.6 (tzn. mám handler vzít z 0.7?), že tomu chybí nějaký soubor.
Marek Bartoš
@mabar
Jestli ti z nějakého důvodu 0.6 nejde, tak rovnou nainstaluj 0.7, upravovalo se toho kolem logování víc
Volf Tomáš
@Vlczech
@mabar: Dík. No na dev verzi se mi moc přecházet nechce (už jsem byl na dev u verze 0.5, pak se něco změnilo a přestalo mi to jet)
Karel Píč
@KarloZKvasin_gitlab
Ahoj, chci se zeptat, jak v řešíte parametry u dotazů pro openapi, když openapi vyžaduje type: integer, ale apitte dovoluje zapsat jen int v @RequestParameter(name="id", type="int", description="...")
Marek Bartoš
@mabar
To řeší apitte/openapi, samo ti typ přemapuje
Karel Píč
@KarloZKvasin
No narazil jsem na to právě proto, že se mi tak neděje. Ve vygenerovaném jsonu jsem měl int. Večer se na to ještě mrknu. Je fakt, že jsem včera aktualizoval na poslední vývojovou verzi.
Karel Píč
@KarloZKvasin
Vypsal jsem si z schemabuilderu endpointy, které zpracovává a u parametrů Apitte\Core\Schema\EndpointParameter je v typu int. Nasměroval by jsi mě na místo kde se to přemapovává na integer?
Marek Bartoš
@mabar
Hmm, máš pravdu. Mapování se momentálně neděje v každém případě apitte/openapi#31
Milan Felix Šulc
@f3l1x
Rad bych postupne vsechny kanaly sjednocoval, doporucuji prejit na jeden spolecny https://gitter.im/contributte/contributte.
Michal Haltuf
@haltuf

Narazil jsem na stejný problém jako tady pánové @martenb a @Vlczech . Při pokusu rozjet ukládání do adresáře log s apitte/core 0.6 podle ukázky výše:

services:
    - {class: Tracy\Bridges\Psr\TracyToPsrLoggerAdapter}
    api.core.errorHandler: {class: Apitte\Core\ErrorHandler\PsrLogErrorHandler}

se mi objevila chybová hláška

Class 'Psr\Log\AbstractLogger' not found

Chyba je způsobena tím, že Tracy\Bridges\Psr\TracyToPsrLoggerAdapter dědí z Psr\Log\AbstractLogger, ale příslušný balíček má tracy jen v závislostech require-dev. Takže když si tracy přidáte do vlastního projektu, balíček psr/log se sám od sebe nepřidá (většina tohle chování composeru asi zná, já jsem to nevěděl)
Je třeba přidat:

composer require --dev psr/log

Vím, že sjednocujete diskuzi, ale našel jsem tuhle stránku právě při hledání, jak zapnout logování v apitte, tak mi to přišlo vhodné sem dát řešení.

3 replies
Martin Brettschneider
@martenb
ahoj, jak testujete svoje API? napsal jsem jednoduchou knihovnu, která vám s testování pomůže https://packagist.org/packages/adbros/controller-tester má obdobné API, jako https://packagist.org/packages/mangoweb/presenter-tester budu rád za feedback