Wpis z mikrobloga

Ciem wystawić endpoint, który w zależności od 1 - 50 parametrów (użytkownik zaznacza checkboxy) będzie zwracał jsona.

Użyć REST GET bez body?
wtedy link może być na kilkaset znaków.

Użyć REST POST i w body jsona z paramterami?
wtedy POSTem pobieram dane i nic nie zmieniam

GraphQL rozwiąże ten problem?

Jak robicie takie coś?
#programowanie
  • 37
@programista4k nie wiem nic z tego co napisałeś, ale http get ma ograniczenie co do długości (by design, rfc, nie powiem z głowy ile, ale na bank <1000), a "jednorazowe" dane pcha się z zasady postem, a co tam wepchniesz to już twoja wyobraźnia i limituje cie tylko MAXPOSTSIZE na apacheu albo odpowiedniki
@programista4k: jeszcze na szybko przyszła mi do głowy kompresja query do jakiegoś nic znaczącego stringa, który server sobie zdekoduje. zakładam tutaj, że średnio użytkownika obchodzi co w tym query się znajduje, skoro przed oczami widzi co sobie zaznaczył. ale wtedy wszystko zależy od tego jaka jest specyfikacja takiego requesta, czy zawsze przekazujesz wszystkie, czy mogą mieć określoną kolejność itp..
@TenAnonToKlopoty: czyli np. jakbym miał 4 możliwe elementy do zaznaczniea to:

0000 - zaden element
0001 - wybrano ostatni
1010 - wybrano pierwszy i trzeci
itd...

te liczby jako binarna do dziesiętnej da:

0 - zaden element
1 - ostatni
10 - pierwszy i trzeci
itd...

tak?
różne są metody, pewnie jak poszukasz pod hasłem "url query compression" to znajdziesz nawet lepsze, ale zamysł masz dobry


@TenAnonToKlopoty: serio ludzie robią sobie takie problemy xd? Jakbym już miał kompresować url to pewnie użyłbym POST, albo niekoszerny GET z body.
@TenAnonToKlopoty
@programista4k
Jak masz szereg bitów (tak/nie) do wysłania to faktycznie w jednym bajcie możesz walić 8 parametrów. Ale get nie łyknie binarki, a w jakimś json ie możesz to zapisać jako 11101110 ale zajmie tyle co ttntttn więc brak profitu, więc jak jest tego dużo to i tak post. Chyba że masz narzuconą maskę, to nawet w gecie to upchasz. Pytanie podstawowe co tam pchasz, bo w jednych zastosowaniach ma sens
@Saly: no zależy od problemu tak jak napisałem. może komuś zależy na performance, może na UX (za pomocą takiego url możesz w pełni odtworzyć stan z tych wszystkich checków, wklepujesz w przeglądarke i masz wynik), może jeszcze na czym innym