Pytania otagowane jako api-design

Interfejs programowania aplikacji (API) omawia najlepsze praktyki tworzenia bibliotek przeznaczonych do ogólnego użytku lub użytku publicznego.

4
Usługa API MVC i RESTful
MVC jest dość proste. Istnieje model, kontroler i widok. Kiedy tworzymy stronę internetową, wszystko się łączy, gdy „ klient wysyła żądanie słowa kluczowego REST do serwera -> serwer dopasowuje żądany adres URL do działania kontrolera -> który następnie wywołuje model (y) do gromadzenia / przetwarzania danych, uzyskuje wynik -> i …

3
Jak zaprojektować interfejs API REST do obsługi operacji innych niż CRUD?
Próbuję przekonwertować zestaw usług opartych na SOAP na interfejs API RESTful. Zacząłem od identyfikacji zasobów, analizując nazwy operacji i dostałem zasób Subscription. Kiedy muszę zaktualizować stan subskrypcji, nie mogę po prostu wysłać POSTżądania do serwera, ponieważ nie mam bezpośredniego dostępu do zasobów, ale muszę wywołać niektóre operacje w stylu RPC, …

3
Przyczyny nieintuicyjnej implementacji C # String.Split ()
W C #, jeśli chcę podzielić jeden stringprzez inny, stringmuszę zrobić coś takiego: testString.Split(new string[] { "anotherString" }, StringSplitOptions.None); Z przeciążonej String.SplitDokumentacji MSDN możemy zobaczyć implementację i dlaczego należy wykonać takie połączenie. Pochodząc z Pythona , trudno mi właściwie zrozumieć, dlaczego takie połączenie jest potrzebne. Mam na myśli, że mogłabym …

2
Architektura systemu alertów
Chciałbym stworzyć system, który obsługuje wiadomości alarmowe z różnych programów i może przetwarzać te alarmy do mniej wymagających klientów za pośrednictwem poczty elektronicznej. Wszystko to byłoby zawarte w jednej sieci wewnętrznej. Myślę, że chcę, aby podstawowa architektura wyglądała mniej więcej tak: Główny problem, który mam obecnie, to bit „modułu obsługi …

1
Dlaczego Operatorzy Null-Safe (np. „Operator Elvisa”) zostali odrzuceni w ramach „Project Coin” Java 7?
Jedną z proponowanych funkcji „Project Coin” Java 7 był „operator Elvisa”. Raport z prezentacją 2009 JavaOne nad projektem Coin opisał to w następujący sposób: Jedną z „małych funkcji” omawianych w tej prezentacji jest tak zwany „operator Elvisa”, bardziej zwięzła wersja operatora trójskładnikowego. Czuję, że brakuje mi niektórych funkcji Groovy podczas …
10 java  api-design 

4
Zamieść link do odpowiedniej dokumentacji w komunikacie o błędzie?
Tworzymy komercyjną bibliotekę i przykłady kodu, które są używane przez zewnętrznych programistów. Mamy (zamkniętą, dostępną dla zarejestrowanych użytkowników) dokumentację, która szczegółowo wyjaśnia, jak korzystać z biblioteki. Wielu programistów jest użytkownikami po raz pierwszy, więc napotyka się na wiele podstawowych błędów. Czy właściwe jest umieszczenie łączy do dokumentacji w dzienniku błędów? …

2
Dlaczego sprawdzono kontra niesprawdzone wyjątki zwane „kontrowersją” w samouczku Oracle Java?
Jestem nowy w Javie i czytałem dokumentację dotyczącą wyjątków. , a zwłaszcza Niezaznaczone wyjątki - strona Kontrowersje . Dolna linia mówi: Jeśli można zasadnie oczekiwać, że klient wyzdrowieje z wyjątku, uczyń go sprawdzonym wyjątkiem. Jeśli klient nie może nic zrobić w celu odzyskania od wyjątku, uczyń z niego niesprawdzony wyjątek. …


5
Pułapki projektowania interfejsu API w C [zamknięte]
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Jakie są wady, które doprowadzają Cię do szaleństwa w interfejsach API C (w …
10 c  api-design  pitfalls 


2
Jak uniknąć nieautoryzowanego użycia interfejsu API?
Muszę zaprojektować „widget”, skrypt, który partnerzy będą osadzać na swoich stronach internetowych, aby wyświetlać interfejs użytkownika i wykonywać połączenia z naszym interfejsem API. Zasadniczo będzie wyświetlać nasze dane w tych witrynach na podstawie niektórych identyfikatorów podanych w naszych wywołaniach API. Chcielibyśmy uniknąć nadużywania interfejsu API i używania go do zeskrobywania …

3
Jak zaprojektować metodę TryParse, która zapewnia szczegółowe informacje w przypadku błędu analizy?
Podczas analizowania danych wejściowych od użytkownika ogólnie zaleca się, aby nie zgłaszać wyjątków i wychwytywać wyjątki, ale raczej stosować metody sprawdzania poprawności. W .NET BCL byłaby to różnica między, na przykład int.Parse(zgłasza wyjątek w przypadku nieprawidłowych danych) i int.TryParse(zwraca falsew przypadku nieprawidłowych danych). Projektuję własne Foo.TryParse(string s, out Foo result) …
9 c#  .net  api-design 

3
Czy złą praktyką jest, aby definicja obiektu API zawierała identyfikatory referencji innych firm jako właściwości?
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, …

2
Dodawanie do skończonego zestawu opcji; przełomowa zmiana API?
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 …
9 rest  api  api-design  json 

3
W języku REST jaka jest różnica między zasobem a reprezentacją?
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 …
9 rest  api  api-design 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.