Osyrion / nette_rest_API

REST API implemented by nette php framework
0 stars 0 forks source link

Nalezy #1

Open dakujem opened 1 year ago

dakujem commented 1 year ago

Celkom pekne.

  1. Narazil si podla mna na limitacie API v Nette:
    • funkciu routeru prebera ciastocne ApiPresenter
    • funkciu kontroleru prebera ciastocne Contacts sluzba
  2. REST API nevracia korektne HTTP statusy
  3. Nepaci sa mi SQL prerusene konketenaciou 'SELECT ... FROM ' . $this->phones->getTableName() . ' LEFT JOIN ' . $this->persons->getTableName() . ' ONpersons.id=phones.person_id', toto ide v DIBI napisat lepsie, mozno to Nette database nepodporuje
  4. mierny overkill v strukturovani modelovej vrstvy - na taketo jednoduche zadanie podla mna netreba vytvarat dve vrstvy (repozitare a manazer/servisu)
  5. dibi nainstalovane, ale nepouzite

Chvalim za pouzitie metody DELETE. 💪

Podla mna zasadnym problemom je vyber frameworku na vypracovanie tejto ulohy.

dakujem commented 1 year ago

Este som zabudol - v composer.json je treba vyzadovat PHP 8, kedze si pouzil konstrukcie, ktore nefunguju v 7.4.

Osyrion commented 1 year ago

Na to Dibi som uplne zabudol 😃 tie konkatenacie som chcel nahradit zastupnymi tagmi pre tabulky a stlpce %n, ktore Nette db nepodporuje. Tym padom by som potom mohol vsetky tie selecty dat do jednej - dvoch univerzalnych findByNeco fnc, kde by sa menili len parametre a values. Cele by to nakoniec bolo kratsie a prehladnejsie.

ale diky moc za feedback

dakujem commented 1 year ago

ja prave pouzivam prevazne dibi, ani neviem, ze to nette db nema tuto ficuru. dibi umoznuje krasne prehladne pisat tie SQL bez strachu o injekciu alebo konflikt nazvu tabulky (napr tabulka s nazvom group alebo stlpec order).

Za mna naozaj nestastny vyber frameworku, preco si nepouzil symfony skeleton (v rezime mikroservisy)?

Osyrion commented 1 year ago

s Nette mám najviac skúseností a aj čo sa u nás predtým vyvíjalo nejaké API tak to bolo tiež postavené na Nette, takže som radšej stavil na istotu aj napriek nevýhodám, než ísť do Symfony, ktoré som nevidel už dlhšiu dobu, pretože by to znamenalo venovať tomu ďaleko viac času, čo by asi nebolo zas moc efektívne.

inak v minulosti som už v symfony nejake to API riešil. Napríklad tu: https://github.com/Osyrion/symfonyProj

ale ako vravím.. sú to už takmer 2 roky dozadu, takže by som si tie symfoňácke veci musel prechádzať prakticky nanovo.