UX - aktualizacia json dokumentu

UX - aktualizacia json dokumentu
« kdy: 05. 11. 2019, 14:09:28 »
Mam api server kam klienti posielaju json dokument. Aktualne sa tento dokument moze aktualizovat iba ked sa posle ako celok. Ja chcem implementovat jednoduche patchovanie aby klient nemusel tahat najprv cely dokument ku sebe, spravit zmeny a znova ho cely poslat na server.

Otazka je ake api je dobre pre takyto ucel. Mozem mat moznost poslat json dokument ktory obsahuje iba zmeny a na servery sa spravi merge. Pripadne mozem pouzit json patch ktory je standardizovany. Pripadne pouzivam kniznicu ktora pouziva zapis "foo.bar.0.baz" ak ide o pole, pripadne "foo.bar.:25.baz" ak ide o objekty resp "foo.bar-1.baz" ak ide o pridanie polozky do pola. je to velmi jednoduche avsak nie je to ziaden znamy standard. Takze neviem ze co je pre uzivatelov dobra metoda - nadiktovat syntax ktora vyhovuje mne, alebo pouzit json patch ktory som moc vo svete nevidel, cely dokment...alebo co skratka? Neviem popravde ze co sa dnes na toto pouziva kedze som sa s tym nikdy nestretol(nerobim s nosql) a nemam prehlad + neviem co preferuju uzivatelia skratka.


Re:UX - aktualizacia json dokumentu
« Odpověď #1 kdy: 05. 11. 2019, 15:37:19 »
Jaká je motivace? Ušetřit přenos dat?

Existuje JSON_Patch https://en.wikipedia.org/wiki/JSON_Patch

Nebo bych uvažoval bych nad triggerem, který se spustí po nahrání souboru a provede formátování jsonu (indentace, odřádkování) a jiným triggerem, který se spustí po nahrání normálního diff patch souboru (provede merge). Klient by posílal patche vůči formátované verzi dokumentu (tu by si musel taky vyrobit), problém by byl v případě konfliktu více verzí (více uživatelů pošle vzájemně si odporující verze dokumentu). Nebo by šel použil rovnou verzovací systém, který tohle přesně dělá. Pak by nemusel být systém ani omezený jen na JSON.

Re:UX - aktualizacia json dokumentu
« Odpověď #2 kdy: 05. 11. 2019, 16:02:00 »
Preberal som to na slacku a v konecnom dosledku to bude najlepsie nechat ako je - tzn. na aktualizaciu dokumentu sa skrata posle cely dokument. Nejde o velky dokument takze az taky problem to nie je ako by to bolo v pripade par megoveho, pripadne vecsieho dokumentu.

Re:UX - aktualizacia json dokumentu
« Odpověď #3 kdy: 05. 11. 2019, 17:41:13 »
Preberal som to na slacku a v konecnom dosledku to bude najlepsie nechat ako je - tzn. na aktualizaciu dokumentu sa skrata posle cely dokument. Nejde o velky dokument takze az taky problem to nie je ako by to bolo v pripade par megoveho, pripadne vecsieho dokumentu.

Pokud zapnete na transportní vrstvě kompresi, ušetříte hodně dat a pak nebudou problém ani soubory v řádu MB. Lehce se tím zvednou nároky na CPU při intenzivním provozu, ale nic dramatického. Takže pokud to vaše transportní vrstva podporuje, stojí komprese za zvážení.

gill

  • ****
  • 270
    • Zobrazit profil
    • E-mail
Re:UX - aktualizacia json dokumentu
« Odpověď #4 kdy: 05. 11. 2019, 17:55:52 »
Jaká je motivace? Ušetřit přenos dat?

moderní REST API by mělo metodu PATCH implementovat, ve frameworcích to bývá zadarmo. (v tomto případě asi ne)
« Poslední změna: 05. 11. 2019, 17:59:41 od gill »