Projektowanie interfejsu API to proces określania i ujawniania zestawu spójnych sygnatur metod, wartości zwracanych i dokumentacji przeznaczonych do użytku przez innych programistów w celu umożliwienia programistycznego dostępu do danych.
Na przykład uruchamiasz żądanie GET, users/9ale nie ma użytkownika o identyfikatorze nr 9. Jaki jest najlepszy kod odpowiedzi? 200 OK 202 Zaakceptowano 204 Brak treści 400 złych wniosków 404 Nie Znaleziono
O ile mogę stwierdzić, każdy pojedynczy zasób powinien mieć tylko jedną ścieżkę kanoniczną . Więc w poniższym przykładzie, jakie byłyby dobre wzorce adresów URL? Weźmy na przykład reprezentację firm. W tym hipotetycznym przykładzie każda firma posiada 0 lub więcej działów, a każdy dział posiada 0 lub więcej pracowników. Dział nie …
Chciałbym trochę pomóc w rozwiązaniu dziwnego przypadku przy tworzeniu stronicowanego API. Podobnie jak wiele interfejsów API, ten paginuje duże wyniki. Jeśli zapytasz / foos, otrzymasz 100 wyników (tj. Foo # 1-100) i link do strony / foos? = 2, które powinny zwrócić foo # 101-200. Niestety, jeśli foo # 10 …
W przeciwieństwie do C # IEnumerable, gdzie potok wykonania może być wykonywany tyle razy, ile chcemy, w Javie strumień można „iterować” tylko raz. Każde wywołanie operacji terminalowej zamyka strumień, co czyni go bezużytecznym. Ta „funkcja” zabiera dużo energii. Wyobrażam sobie, że powód tego nie jest techniczny. Jakie były uwagi projektowe …
Pamiętaj, że mam podstawowe rozumienie REST. Powiedzmy, że mam ten adres URL: http://api.animals.com/v1/dogs/1/ A teraz chcę, aby kelner powodował szczekanie psa. Tylko serwer wie, jak to zrobić. Powiedzmy, że chcę, aby działał w trybie CRON, który powoduje, że pies szczeka co 10 minut przez resztę wieczności. Jak wygląda to wezwanie? …
Chcę, aby mój interfejs API RESTful był bardzo przewidywalny. Jaka jest najlepsza praktyka przy podejmowaniu decyzji, kiedy dokonać segmentacji danych przy użyciu identyfikatora URI, a nie przy użyciu parametrów zapytania. Wydaje mi się sensowne, że parametry systemowe obsługujące paginację, sortowanie i grupowanie znajdują się po znaku „?” A co z …
zgodnie z dokumentacją metoda String.valueOf(Object obj)zwraca: jeśli argumentem jest null, to łańcuch równy "null"; w przeciwnym razie zwracana obj.toString()jest wartość . Ale jak to się dzieje, kiedy próbuję to zrobić: System.out.println("String.valueOf(null) = " + String.valueOf(null)); zamiast tego rzuca NPE? (spróbuj sam, jeśli nie wierzysz!) Wyjątek w wątku „main” java.lang.NullPointerException w …
Następujący kod generuje NullPointerException: int num = Integer.getInteger("123"); Czy mój kompilator wywołuje getIntegerwartość null, ponieważ jest statyczny? To nie ma sensu! Co się dzieje?
Jeśli masz interfejs API i jesteś programistą z siedzibą w Wielkiej Brytanii z wysoce międzynarodową publicznością, jeśli masz API setColour() lub setColor() (Aby wziąć jedno słowo jako prosty przykład.) Inżynierowie z Wielkiej Brytanii często dość defensywnie podchodzą do „prawidłowej” pisowni, ale można argumentować, że pisownia amerykańska jest bardziej „standardowa” na …
Mam JSON REST API. Po uścisku dłoni otrzymasz token ważny przez 15 minut. Wszystkie połączenia, które wykonasz w ciągu tych 15 minut, powinny działać poprawnie. Po 15 minutach zwracam obiekt błędu (zawiera kod, wiadomość, sukces = fałsz), ale zastanawiałem się również, jaki kod błędu HTTP powinienem zwrócić? I czy używanie …
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.