Mireczki przychodzę do Was z nietypowym problemem.
Kiedyś na YouTube oglądałem prelekcję (prawdopodobnie było to w ramach Warsaw Java User Group lub podobnej grupy ale na 99% społeczność jvm) w której gościu opowiadał o podejściu do zwracania błędów z API polegającym na zwracaniu jakiegoś unikalnego identyfikatora (albo i nie unikalnego?) w jakiś sposób skorelowanego z konkretną częścią systemu co w przypadku dostarczenia tego ID przez użytkownika zgłaszającego błąd miało przyśpieszyć rozeznanie co
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Generyczny_nick: zapewne chodziło o jakiś traceId. Jak odpowiednio monitorujesz aplikację, to taki trace ciągnie się przez cały cykl życia requestu (nawet jest przesyłany w headerach między mikroserwisami). Wszystkie logi mają ten trace, i jak go zwrócisz użytkownikowi w błędzie, to latwo takich logow poszukac
  • Odpowiedz
Mam kalster Kafek Kraft, czyli bez zookepera. Musze go atakować locust i "wyrównać" duże obciążenie dysku, żeby pingi były niskie. Udało mi się pozbyć wielu artefaktów (duże pingi i duże obciążenie io serwera) już nie ma regularnego ksztuszenia ani wysokich pingów co kilka minut. Teraz już działa to "płynnie". Jak dla mnie ujdzie.

Pytanie, czy ktoś z was by to jeszcze poprawiał? Jeśli tak to jak? Poniżej parametry,z którymi eksperymentuje.
//STANDARDOWE
offsets.topic.replication.factor=3
num.network.threads=3
pyroxar - Mam kalster Kafek Kraft, czyli bez zookepera. Musze go atakować locust i "w...

źródło: comment_1667314342rp8FqXLKUzsTIQQtesycA3.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

10 Wskazówek Przed Rozmową Kwalifikacyjną Dla Programisty

Cześć Właśnie pojawił się nowy artykuł na blogu Modest Programmer.

Nieodłącznym elementem kariery każdego programisty jest uczęszczanie na rozmowy kwalifikacyjne. W tym artykule przedstawię 10 najważniejszych wskazówek, dzięki którym wypadniesz dużo lepiej na swojej rozmowie kwalifikacyjnej na stanowisko programisty.

Link
kazik- - 10 Wskazówek Przed Rozmową Kwalifikacyjną Dla Programisty

Cześć Właśnie p...

źródło: comment_1667288516HzqBX23yEPVjXW738TDMFf.jpg

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#anonimowemirkowyznania
Czy da się w postmanie napisać skrypt, który będzie wysyłał GETy do API co określony czas + chciałbym też ustawić określoną ilość tych zapytań np. 1000 oraz odczytywał czas odpowiedzi różnych serwisów, które są umieszczone w headerze i zapisywał do pliku jakiegoś?

#testowanieoprogramowania #postman #programowanie #api #restapi

Kliknij tutaj, aby odpowiedzieć w tym wątku anonimowo
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Potrzebuje stworzyć mapę z punktami dodawanymi przez API. Gdzie i za ile? Niestety Google Cloud Platform to porażka i nie można określić co jest darmowe a co płatne. OSM nie oferuje (chyba?) takiej funkcjonalności, a uMAP nie wystawia API. Jakieś pomysły?

#api #restapi #google #googlemaps #osm #programowanie
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@stanleymorison: ktoś tak wymyślił. W REST api nie odnosisz się do operacji tylko zasobów. Masz POST /items a nie POST /newItem. Masz PUT /items/iditemu a nie /newItemWithId gdzie ID podasz jako query param lub w body. Masz DELETE /items/iditemu a nie POST /remove_item
  • Odpowiedz
Internetowo programistyczne mirki z #rest #restapi #programowanie

Macie jakiegoś toola online który potrafi sprawdzić składnie i pokazać miejsce w którym jest coś "nie tak"?

Dajmy na to mam takie odpytanko (poprawne), ale chciałbym coś w stylu sprawdzacza gdy piszę coś typowo "z palca", bez dokumentacji. Chodzi o same klamry, dwukropki oraz cudzysłowia.

https://randomowa-strona.com.pl/api/v1/users?filters={"users":{"where":{"externalKey":{"=":"345678"}}}}&fields={"users":"id,externalKey"}
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki co polecacie poczytać o dobrych praktykach przy tworzeniu i projektowaniu API restowego. Mam kilka zagwozdek takich jak np. Użytkownik chcę stworzyć za pomocą POST jednorazowo np. 5 obiektów. API do bazy wrzuca 4, bo okazuje się że że 5 element już istniał i baza blokuje stworzenie tego 5. Co najlepiej wtedy zwrócić użytkownikowi?
1. 200 z info 4 obiekty sukces 1 (piąty) z error,
2. 400 z analogicznym komunikatem?
3. Cofnąć tworzenie obiektów bo użytkownik chciał 5 to albo 5 albo wcale i zwrócić 400 jest problem z 5 objektem?
4. Inne pomysły?

Większość
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #api #restapi

Przeszukuję 'best practices' dotyczące Rest Api i nie mogę znaleźć odpowiedzi na następujące pytanie:

Jaki status powinno się zwracać, gdy operacja nie powiedzie się z powodu stanu obiektu.
Chodzi o przypadek np. próby usunięcia czegoś, co ma flagę informującą, że nie można tego obiektu wyrzucić.
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

konto usunięte via Wykop Mobilny (Android)
  • 2
@husky83: w RFC 7231 na taką okazję masz 405 - Method Not Allowed

Oczywiście zakładając że korzystasz z DELETE a nie POST /delete bo wtedy takie rozkminy nie mają sensu ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Co takie prawdziwe restowe api powinno zwracać w następujących przypadkach (status + zawartość):
1. POST - status 201, ale czy powinno zwracać utworzony obiekt?
2. GET, gdy zwracana lista jest pusta? (czyli GET nie na pojedynczy obiekt, bo wtedy 404, a na całą kolekcję) - 200 + [] jako zwrotka?
3. PUT, PATCH - status 200 jako potwierdzenie, a obiekt?
4. DELETE - status 200?

Co
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#wykopapi #restapi #programowanie

Komunikacja z API odbywa się w oparciu o architekturę REST. Każdy obiekt dostępny w serwisie reprezentowany jest przez odpowiedni zasób API. Każdy z zasobów ma specyficzny zestaw metod, które można na nim wykonać.


To dlaczego można usunąć wpis GETem?

Nie
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 2
@zwei kiedyś był popularny post i get, rest api każdy robi jak umie dlatego co projekt to wygląda trochę inaczej, zobacz sobie temat rest api maturity bo tam masz jeszcze hateos na koncu
  • Odpowiedz
Hej Mireczki
Pytanie: jak poprawnie zaimplementować metodę aktualizującą encję?
Najprostszy sposób:
Sprawdzić czy w userDto dane pole nie jest nullem (i generalnie czy się poprawnie waliduje) i jeśli tak to na obiekcie user ustawić tę wartość na polu a finalnie wywołać update na repozytorium (w kontrolerze naturalnie http method patch).

Tyle, że ifowanie każdego pola z dto czy jest ok itp wydaje mi się słabe i się nie skaluje.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Generyczny_nick: No i przede wszystkim jakie rzeczy byś chciał walidować, napisałeś że nie dałbyś adnotacji (notnull) więc dopuszczasz możliwość że po prostu tego pola nie będzie. Więc po co np. to pole chciałbyś walidować?
  • Odpowiedz
Gdybyście się zastanawiali dlaczego wykop działa tak słabo.

Zastanówmy się jak można przekazać komunikat do aplikacji, że chcę zaplusować jakiś wpis, wystarczy wysłać komunikat Chcę zaplusować komentarz o id x
Więc mamy komendę + identyfikator, możemy to uzyskać robiąc taki request:

POST /articles/:id/votes
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wydziubałem sobie w #python skrypt, który
1. Loguje się na stronę
2. Wyciąga z niej dane

Problem taki, że te dane aktualizują się często, jest tam wpięte api.
Za każdym razem gdy odapalam skrypt, otwiera się nowa sesja.
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 1
@zortabla_rt też ostatnio napisałem cos podobnego i nic lepszego nie wymysłem i chyba nie ma jak wymyśleć, bo jak stare ciasteczka nie działają no to musisz mieć nowe.
  • Odpowiedz