Popularnym wyborem architektury wysokiego poziomu we współczesnym programie jest system mikrousług oparty na REST. Ma to kilka zalet, takich jak luźne połączenie, łatwe ponowne użycie, ograniczone ograniczenie technologii, które można zastosować, wysoka skalowalność itp. Ale jednym z problemów, które przewiduję w takiej architekturze, jest słaby wgląd w to, jakie są …
Weź punkt końcowy interfejsu API HTTP, który wyrzuca następujący model odpowiedzi: { "type": "Dog", "name": "Jessi", ... } typePole zostało opisane w dokumentacji jako jeden Dog, Catlub Fish. Czy dodanie nowej opcji Ratbyłoby , powiedzmy , uważane za przełomową zmianę interfejsu API? Czy dodanie opcji do skończonej listy (którą programista …
Specyfikacja JWT opisuje tylko ładunek i sposób jego wysyłania, ale pozostawia otwarty protokół uwierzytelniania, co pozwala na elastyczność, ale niestety elastyczność może prowadzić do antypatternów i błędnego projektowania. Szukam dobrze przemyślanego i przetestowanego modelu korporacyjnego do uwierzytelniania JWT, którego mógłbym użyć lub dostosować, ale nie udało mi się znaleźć czegoś …
Moje rozumienie REST, które umożliwia modelowanie operacji usługi jako reprezentacji stanu i przechodzenia z jednego stanu do drugiego z wykorzystaniem HTTP. Do niedawna zawsze rozumiałem zasoby jako reprezentacje stanu usługowego, kiedy czytałem ten artykuł Jimmy'ego Bogarda, o którym wiem, że jest inteligentnym programistą / architektem, którego społeczność bardzo szanuje. Cytując …
Mam interfejs API REST, który dla niektórych entpoinds, takich jak DELETE, POST lub PUT, mam pewne reguły sprawdzania poprawności, które mogą zwrócić błąd. Teraz potrzebuję nowego typu błędu, takiego jak błąd niekrytyczny, który powinien zawieść w normalny sposób, ale powinien podjąć działanie, jeśli wysyłane są flagi „ostrzeżenia o wyłączeniu”. Taki …
Kontekst Z powodu bezpaństwowości stylu architektonicznego REST polegającego na tym, że każde żądanie jest całkowicie niezależne, co prowadzi serwer do nigdy nie przechowujący żadnych informacji o kliencie. Dlatego pesymistyczna kontrola współbieżności nie jest odpowiednia, ponieważ wymagałaby od sklepu serwera, który klient otrzymuje blokadę zasobu. Następnie stosuje się optymistyczne sterowanie współbieżnością …
Chcę utworzyć historię cofania za każdym razem, gdy użytkownik aktualizuje formularz. Ponieważ jest to aktualizacja, chcę użyć żądania PUT. Jednak przeczytałem, że PUT nie musi mieć żadnych skutków ubocznych . Czy dopuszczalne jest użycie PUT tutaj? Czy są lepsze alternatywy? PUT /person/F02E395A235 { time: 1234567, fields: { name: 'John', age: …
Porównując strukturę REST [api] z modelem OO, widzę następujące podobieństwa: Obie: Są zorientowane na dane REST = zasoby OO = Przedmioty Operacja surround wokół danych REST = otaczaj VERBS (Get, Post, ...) wokół zasobów OO = promuj działanie wokół obiektów przez enkapsulację Jednak dobre praktyki OO nie zawsze stoją na …
Projektuję interfejs API REST dla trójwarstwowego systemu, takiego jak: Client application-> Front-end API cloud server-> user's home API server (Home). Homejest urządzeniem domowym i ma utrzymywać połączenie Front-endprzez Websocket lub długą ankietę (jest to pierwsze miejsce, w którym naruszamy REST. Później staje się jeszcze gorzej) . Front-endgłównie tuneluje Clientżądania Homepołączenia …
Obecnie projektujemy interfejs API REST w celu uzyskania dostępu do klasycznych danych klientów. Jednym z elementów interfejsu API są zasoby użytkownika. Aktywa są dodawane w ramach danej usługi. Interfejs API zaplecza doda zasób tylko do użytkownika w ramach danej usługi. Zatem nie ma relacji użytkownik - zasób, ale relacja użytkownik …
Mamy projekt, w którym ten sam zespół opracuje kod interfejsu użytkownika, ale w innym języku (Python / Django) niż warstwa usług (REST / Java). Kod dla każdej warstwy jest zamykany w różnych repozytoriach kodów i które mogą podlegać różnym cyklom wydania. Próbuję wymyślić proces, który zapobiegnie / ograniczy przełamywanie zmian …
Właśnie o tym myślę na serwerze JEE Glassfish przy użyciu Jersey. @GET @Path("/{name}/{date}") public String getMessages(@PathParam("name") String name, @PathParam("date") Date date) Podoba mi się pomysł, aby móc powiedzieć ludziom korzystającym z usługi RESTful, że „Data tutaj jest wszystkim, co działa z klasą Date w Javie”. Jest to dość proste z …
Projektujemy interfejs API RESTful, aby otworzyć informacje o koncie klienta. Mamy reprezentacje zawierające odniesienia do innych zasobów związanych z bieżącym zasobem. Wynika to z wielu najlepszych praktyk, które udało nam się znaleźć w publicznych interfejsach API, a także w opublikowanych materiałach. Reprezentacjami mogą być XML lub JSON. Na przykład dla …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.