Jest to pierwsza usługa internetowa RESTful i martwię się o kwestie bezpieczeństwa. Czy przesyłanie mojego tokena dostępowego za pomocą nagłówków HTTP jest bezpieczne? Na przykład: POST /v1/i/resource HTTP/1.1 Content-Type: application/x-www-form-urlencoded Api-key: 5cac3297f0d9f46e1gh3k83881ba0980215cd71e Access_token: 080ab6bd49b138594ac9647dc929122adfb983c8 parameter1=foo&parameter2=bar Połączenie wykonane SSL. Ponadto, co należy zdefiniować jako scopeatrybut każdegoaccess token
Po prostu przeczytaj to w Rulebook REST API : GET i POST nie mogą być używane do tunelowania innych metod żądania . Tunelowanie odnosi się do każdego nadużycia HTTP, które maskuje lub wprowadza w błąd zamiar wiadomości i podważa przejrzystość protokołu. Interfejs API REST nie może naruszać jego projektu przez …
Mam wiele usług internetowych, które tworzą aplikację internetową. Klienci mogą uzyskać dostęp do tych usług za pośrednictwem wywołań interfejsów API REST. Czy te usługi powinny być w stanie rozmawiać bezpośrednio ze sobą? Jeśli tak, czy nie doprowadziłoby to do ich połączenia, co jest sprzeczne z koncepcją mikrousług? Czy klient powinien …
Budujemy architekturę Microservice dla naszych projektów, głównie aplikacje frontowe Symfony współpracują z wewnętrznymi interfejsami API RESTful. Problem polega na tym, że podejście to łamie zarządzanie jednostkami Symfony polegającymi w dużej mierze na Doctrine z bazą danych. Tam, gdzie Symfony zwykle obsługuje jednostki za pomocą Doctrine, automatyzując większość pracy, nie można …
Podczas budowania usługi REST z ograniczeniem HATEOAS bardzo łatwo jest ogłosić istnienie zasobów poprzez łączenie. Robisz GETdo katalogu głównego mojej witryny, a ja odpowiadam dokumentem głównym z listą wszystkich zasobów pierwszego poziomu: { users: { href: "/users" } questions { href: "/questions" } } Klienci, którzy rozumieją, jak odczytać te …
Mam trzy pytania dotyczące projektu interfejsu API REST, które mam nadzieję, że ktoś może rzucić nieco światła. Szukałem bez końca od wielu godzin, ale nigdzie nie znalazłem odpowiedzi na moje pytania (może po prostu nie wiem, czego szukać?). Pytanie 1 Moje pierwsze pytanie dotyczy działań / RPC. Od jakiegoś czasu …
Niedawno zakończyłem projekt obsługi przetwarzania kart kredytowych. Jedną z trudności, z którymi się spotkałem, była obsługa opóźnień / możliwych awarii powiadomień. Najbardziej złożonym przykładem było: zewnętrzny system wysyłający żądanie zapłaty mój system przekształca to żądanie w żądanie do bramki płatności wysyłanie użytkownika do bramy oczekiwanie na dokonanie płatności przez użytkownika …
Pisząc testy jednostkowe, często używa się urządzeń: mało danych do przetestowania, więc możemy powiedzieć: 1. Zdobądź wszystkich klientów, którzy powinni dołączyć Willy Wonka. 2. Usuń klienta 3, a teraz zdobądź klientów nie powinien już zawierać Willy Wonka. To dobrze w testach jednostkowych. Użyj setup / teardown, aby ponownie załadować urządzenia …
Zasadniczo starałem się wykonać następujące czynności podczas tworzenia usługi REST: Wymagany jest HTML usługa zwraca żądaną stronę internetową, ale bez żądanego „zasobu”, np. dane strona zawiera JavaScript, który wysyła żądanie AJAX do tej samej usługi (inny typ zawartości) Usługa zwraca rzeczywiste dane (JSON), a strona wyświetla je Z jednej strony …
Zastanawiam się, czy zamiast bardziej tradycyjnego układu takiego jak ten: api/Products GET // gets product(s) by id PUT // updates product(s) by id DELETE // deletes (product(s) by id POST // creates product(s) Czy bardziej przydatne byłoby użycie liczby pojedynczej i mnogiej, na przykład: api/Product GET // gets a product …
Mam następujący punkt końcowy: a/{id}/b i chcesz utworzyć żądanie bwysyłania POSTdo niego. Jeśli az podanym {id}nie znaleziono, czy powinienem odpowiedzieć za pomocą, 404 NOT_FOUNDa może za pomocą 409 CONFLICT? Jest to proste a/{id}, sztuczka polega na tym, że tutaj stosuje się podśrodek.
Jestem w trakcie tworzenia interfejsu API REST i obecnie napotykam następujący problem: Foojest pierwszym zasobem. Operacje CRUD można zastosować za pomocą /foo/identyfikatora URI. Barjest drugim zasobem. Operacje CRUD można zastosować za pomocą /bar/identyfikatora URI. Każdy Foojest powiązany z zerem lub jednym Bar. Powodem, dla którego nie traktuję tego Barjako podrzędnego …
Podczas wdrażania naszego API pojawiła się kwestia czasu i stref czasowych. Wszystkie daty są znormalizowane do UTC w bazie danych. Obecnie w aplikacji innej niż API wszystkie czasy danych są konwertowane na podstawie preferencji użytkowników, zanim zostaną przedstawione. Teraz pojawiło się to samo pytanie dotyczące interfejsu API: czy interfejs API …
Buduję interfejs REST, w którym klienci są uwierzytelniani przy użyciu certyfikatów klienta. Klient w tym przypadku nie jest indywidualnym użytkownikiem, ale jakąś warstwą prezentacji. Użytkownicy są uwierzytelniani przy użyciu niestandardowego podejścia, a warstwa prezentacji odpowiada za prawidłowe wykonanie (uwaga: wiem, że to nie jest właściwe podejście, ale interfejs API nie …
Lubię to: Campaign: type: object properties: id: type: string description: "A GUID identifier" referenceId: type: string description: "A consumers identifier they have used to map their own systems logic to this object." name: type: string description: "'Great Campaign 2017' as an example" Jestem zaniepokojony referencją . Domena systemowa to platforma, …
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.