Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Zamknięte 6 lat temu . Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Co sprawia, że świetne interfejsy API sprawiają, …
Tworzę aplikację, która będzie obsługiwać wielu użytkowników. Chodzi o to, że nie jestem w stanie dowiedzieć się, jak uwierzytelnić klienta / użytkownika. Tworzę aplikację, taką jak http://quickblox.com/, w której podam poświadczenia moim użytkownikom, którzy wykorzystają je do zbudowania aplikacji N , w których nie mogą podać swojej nazwy użytkownika i …
Projektuję interfejs API usługi REST i utknąłem na właściwej drodze do zagnieżdżania zasobów. Zasoby: partnerzy, bilety, ustawienia Połączenia między zasobami: partner ma wiele biletów, partner ma ustawione ustawienia, Logika biznesowa: możesz wymienić wszystkich partnerów jako anonimowych użytkowników, możesz dodać nowy bilet do określonego partnera jako użytkownik anonimowy, tylko partner może …
Sue jest projektowanie biblioteki JavaScript, Magician.js. Jego zawleczka jest funkcją, która wyciąga Rabbitz przekazanego argumentu. Wie, że jego użytkownicy mogą chcieć wyciągnąć królika z String, a Number, a Functionmoże nawet a HTMLElement. Mając to na uwadze, mogłaby zaprojektować swój interfejs API w następujący sposób: Surowy interfejs Magician.pullRabbitOutOfString = function(str) //... …
Na podstawie tego, co mówi ten facet: http://toddfredrich.com/ids-in-rest-api.html Załóżmy, że ma rację, używając identyfikatora UUID do identyfikacji zasobów interfejsu API. Potem napotykam kłopoty, próbując to zaimplementować w następujący sposób: class FooEntity { final String id = null; //auto-generated by my backend (mongodb), not shared final UUID uid = UUID.randomUUID(); //the …
Mamy interfejs API sieci Web ASP.NET, który zapewnia interfejs API REST dla naszej aplikacji jednostronicowej. Używamy DTO / POCO do przesyłania danych przez ten interfejs API. Problem polega na tym, że z czasem te DTO stają się coraz większe, więc teraz chcemy zmienić DTO. Szukam „najlepszych praktyk”, jak zaprojektować DTO: …
Prowadzę badania nad projektowaniem usług internetowych RESTful i doszedłem do tego, co uważam za kluczowy punkt decyzji, więc pomyślałem, że zaoferuję to społeczności, aby uzyskać porady. Zgodnie z zasadami architektury RESTful chcę zaprezentować wykrywalny interfejs API, dlatego będę wspierał różne czasowniki HTTP tak dokładnie, jak to możliwe. Moja trudność wiąże …
Czytam książkę Zasady, praktyki i wzorce wstrzykiwania zależności i czytam o koncepcji nieszczelnej abstrakcji, która jest dobrze opisana w książce. Obecnie refaktoryzuję bazę kodu C # przy użyciu wstrzykiwania zależności, aby zamiast blokowania były używane wywołania asynchroniczne. W tym celu rozważam interfejsy, które reprezentują abstrakcje w mojej bazie kodu i …
Zmieniałem już ~ 5 razy. Ten punkt końcowy REST /api/tags/będzie do użytku wewnętrznego (bez klientów innych firm), jestem jedynym, który z nim pracuje. Decyduję między tymi dwoma reprezentacjami: Mieszkanie { "types":[ { "id":1, "text":"Utility" }, { "id":7, "text":"Lease Terms" }, ], "tags":[ { "id":8, "text":"Water", "type":1 }, { "id":9, "text":"Electricity", …
Projektuję interfejs API RESTful i napotkałem problem z tytułem, dla zachowania przejrzystości: Czy powinienem szybko zawieść, jeśli klient wyśle nierozpoznany parametr? Na przykład, http://example.com/api/foo?bar=true&paula=bean Powyżej barjest poprawnym parametrem, ale paulanie jest określony przez API. Czy powinienem Ostrzeż klienta o błędzie Szybko zawieść Zignoruj to Jeśli ostrzeżę klienta, mogę wydać ostrzeżenie …
Pracuję na porcie od Pythona do Rusta i natrafiłem na kod, który nie może być wyrażony w Rust tak naturalnie, jak w Pythonie. Jednym z takich przypadków jest użycie parametrów domyślnych: class Foo: def __init__(self, a="Hello"): self._a = a W Rust możesz to zaimplementować za pomocą konstruktora: struct FooBuilder { …
Jestem w trakcie projektowania interfejsu API HTTP, mam nadzieję, że uczynię go możliwie jak najbardziej REST. Istnieje kilka działań, których funkcjonalność rozciąga się na kilka zasobów i czasem trzeba je cofnąć. Pomyślałem sobie, że to brzmi jak wzorzec poleceń, ale jak mogę zamodelować go w zasób? Przedstawię nowy zasób o …
Szukam dobrego zasobu do nauki o dobrym projektowaniu API dla bibliotek C ++, przeglądaniu współdzielonych obiektów / bibliotek dll itp. Istnieje wiele zasobów na temat pisania fajnych API, ładnych klas, szablonów itp. Na poziomie źródła, ale prawie nic o łączenie rzeczy we wspólnych bibliotekach i plikach wykonywalnych. Książki takie jak …
Na przykład mam podmioty: klient, raport. Klient może mieć wiele raportów i myślę, że punkt końcowy dla jednego zarządzania raportami powinien być zagnieżdżony w następujący sposób: /clients/{client_id}/reports/{report_id} Jeśli chodzi o wszystkie raporty jednego klienta, oczekuje się enpoint: /clients/{client_id}/reports Ale jak powinien wyglądać punkt końcowy dla uzyskania wszystkich raportów wszystkich klientów, …
Widzę wiele pytań dotyczących dostępu do klawiszy JSON, które używają łączników (kebab-case), ale teraz zastanawiam się, czy powinienem po prostu trzymać się camelCase lub snake_case w moich kluczach. Wiem, że łączniki mogą również tworzyć skomplikowane odwzorowania, gdy są przenoszone między językami. Widziałem, jak niektóre biblioteki JSON przekształcają te klucze w …
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.