Czy tak się powinno robić?Sklep internetowy co chwila wysyła zapytania do API i pobiera kategorie,produkty,ceny z aplikacji desktpowej w której dokonuje się różnych zmian i API czerpie z tej bazy dane i dodaje.Sklep w bazie przechowuje tylko np. koszyk zakupów.

#programowanie #api #rest #naukaprogramowania
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jakie stacki polecicie na początek do nauki kodowania restful/crud aplikacji?
atutem będzie, jeżeli będzie dużo materiałów na temat danego stacka (najlepiej video-tutoriale na windowsie)
dodam, że jestem praktycznie zielony w temacie stronek restful, a bardzo chciałbym się tego porządnie nauczyć.
A więc od czego zacząć?
Chciałbym skończyć na czymś w stylu MERN/MEAN/MEVN, ale póki co wydaje mi się to zbyt trudne do ogarnięcia bez porządnych materiałów.
#programista #nodejs
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej mireczki, mógłby mi ktoś wytłumaczyć parę kwestii? Dlaczego HTTP Get nie powinien mieć ciała, a może przesyłać dane np. w URLce (stringi typu id, email itp.)? W jaki sposób rozwiązać problem kiedy chcę pobierać z API np. Userów bazując na mniej czy bardziej złożonych kryteriach, które najprościej byłoby wrzucić do jakiegoś innego obiektu (np. SearchCriteria) i posłać do api jako body? Ale jednocześnie robiąc to wszystko po Bożemu ze specyfikacją HTTP/REST?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@FaenTaDeg:

Be careful!!! GET method must be IDEMPOTENT, and must be "cacheable". If you send information in the body How can the system cache your request? HTTP allows caching GET request using only the URL, not the request body. For instance, this two requests: example.com { test:"some" } example.com { anotherTest:"some2" } are considered the same by the cache system: Both of them have exactly the same URL

https://stackoverflow.com/questions/5020704/how-to-design-restful-search-filtering#comment45639456_5020704

chyba
  • Odpowiedz
@FaenTaDeg: Chodzi o standardową implementację, w której przyjęło się że serwer obsługujący metodę GET nie przetwarza payloadu (chociaż mógłbyś go wysłać). Standardem przy większych zapytaniach jest używanie metody POST z payloadem w którym definiujesz SearchCriteria. To nie jest tak że każdy "POST" musi coś tworzyć; nie warto się trzymać sztywno tej reguły (można to zdefiniować na poziomie endpoint '/Search'). Poza tym jak świat długi i szerogi, znalezienie dobrego REST service
  • Odpowiedz
Witam wykopowych #programista15k

Pisałem ostatnio zadanko, które polegało na napisaniu usługi z interfejsem REST/HTTP, która umożliwi aktualizowanie wartości czujników i zwracanie wadliwych silników.

Serwer miał pobrać dane wejściowe zawierające listę czujników do silników z pliku w formacie YAML na GitHubie.

HTTP
Danger40 - Witam wykopowych #programista15k 

Pisałem ostatnio zadanko, które poleg...

źródło: comment_TUrW7xtZEgihOQAX2v14H2ZDOETrjIdF.jpg

Pobierz
  • 25
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Danger40: tak na pierwszy rzut oka:
1. Package: weź je jakoś sensownie ponazywaj
2. pressure_threshold camelCase
3. Ta metoda getBrokenEngines do przepisania (rozbić na mniejsze, w logikę się za bardzo nie zagłębiałem, ale wydaje się że da rade to zrobić lepiej)
4. Do różnych typów sensora zrób sobie enuma a nie po Stringu sprawdzasz typ.
5. IEngineService -> EngineService, EngineService
  • Odpowiedz
@Danger40:
- W Javie nie stosuje się konwencji nazewnictwa I przed interfejsem, jest to używane w C# ale raczej nie jest to mile widziane w Javie
- Wybór technologii dość osobliwy ale tutaj nie chcę się za bardzo czepiać ale fajnie używa się spring-boota, który zrobi Ci fatJara, którego z kolei możesz odpalić samym java -jar. Tylko, że tutaj wchodzi spring.
- Nie rób taki rzeczy e.printStackTrace();, do takich rzeczy zapina się loggera.
  • Odpowiedz
Jeżeli User posiada listę itemów które tylko on powinien móc wyświetlić, to jak to w REST lepiej zrobić?

Pierwsze rozwiązanie:
/users/{username}/items - i razem z requestem wysyłać coś, co pozwoli na potwierdzenie praw dostępu

Drugie rozwiązanie:
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Wrath_of_the_Tyrant: pierwsze jeśli przedmioty są "wewnątrz" użytkownika np. przedmioty w ekwipunku postaci w grze
drugi jeśli jest to unikatowy podzbiór wszystkich przedmiotów dostępny dla tego użytkownika np: lista promocyjnych ofert produktów generowana na podstawie historii zakupów/ustawień

Ale generalnie dużo zależy od tego jak te dane mają być używane. Np. przekazywanie id usera w tokenie sesyjnym jest problematyczne jeśli do tych samych informacji powinien mieć np. admin - skąd wtedy wziąć
  • Odpowiedz
@Wrath_of_the_Tyrant: Wele osób stosuje JWT (w tym ja dla kilku projeketów) ale efektywnie przeimplementujesz to co dobre implementacje ciasteczek już oferują, więc jakby zależy od supportu web frameworku którego używaż. A najlepiej to jest nie trzymać haseł u siebie i użyć jakiegoś OAuth providera.
  • Odpowiedz
Robię aplikacje klienta w #electron i #react. Aplikacja będzie się komunikowała z REST API. Chcę, aby dostęp do tego API było wyłącznie dla tej aplikacji. Czyli prywatne API. Aplikacja ma logowanie - to załatwię za pomocą #jwt, ale nie wiem jak poradzić sobie z zablokowaniem dostępu. Czy wystarczy zwykle hasło na #nginx (.htpasswd)?

#webdev #programowanie #rest
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@damian44__: najbezpieczniej byłoby zaimplementować tam "prawdziwe" logowanie się, czyli dostęp tylko zautentyfikowanego użytkownika, najwyżej żeby nie musieli za każdym włączeniem wpisywać tego samego niech jakieś ciasteczka/storage/sesja czy co tam jeszcze jest w electronie trzyma to w jakiejś pamięci apikacji, a plus będzie taki że robiąc kopiuj-wklej nikt nie zabierze dostępów ze sobą
  • Odpowiedz
Jaka jest poprawna forma zwracania listy plików przez rest?
W tym momencie dla pojedynczego obiektu zwracam https://pastebin.com/Q0AR67vG , ale jak widzicie od razu zwracam byte[]. A dla listy to może być dość ciężkie do ugryzienia.

Mam dla każdego pliku zwracać do niego bezpośredni link czy jednak po prostu listę tych obiektów powyżej? https://pastebin.com/6TDGeJjq

#java #programowanie #rest
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć mirki mam takie pytanko.

Tworzymy w firmie aplikację REST-ową, opartą o C# web api na backendzie oraz angular jako warstwa frontowa.

I zastanawiam się jak powinna wyglądać obsługa wszelkich grafik dołączonych np. do opisu produktu.

Backend
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #testowanieoprogramowania #java #rest
Jak robię testy do aplikacji webowej (Spring) i chcę przetestować rejestracje. Jak robicie test na poprawność danych:
1. Każdy test do osobnego pola np:
a) User z wszystkimi poprawnymi polami tylko jako email "123zlyEmail",
b) User z wszystkimi poprawnymi polami tylko za krótkie hasło "123"
c) User z wszystkimi poprawnymi polami tylko bez nazwiska null

Testy dla pół

  • Każdy unit test sprawdzający jedną walidacje 88.6% (31)
  • Jeden unit test dla walidacji pół 11.4% (4)

Oddanych głosów: 35

  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Patres: Testy to Twoja siatka bezpieczeństwa, mająca dać znać, czy wszystko działa. Jeśli masz test, który sprawdza 3 różne przypadki, i nagle przestaje przechodzić - to skąd masz wiedzieć, co się popsuło?
  • Odpowiedz