Запитання з тегом «api-design»

Інтерфейс прикладного програмування (API) Дизайн обговорює кращі практики створення бібліотек, призначених для загального призначення або для загального користування.

4
Послуга API MVC та RESTful
MVC досить простий. Є Модель, Контролер та Вид. Коли ми створюємо веб-сайт, це все поєднується, коли « клієнт надсилає на сервер запит ключового слова REST -> сервер відповідає запитуваній URL-адресі дії контролера -> який потім викликає моделі (и) для збору / обробки даних, отримує результат -> і повертає результат назад …

3
Як створити API REST для обробки операцій, що не стосуються CRUD?
Я намагаюся перетворити набір послуг на основі SOAP в API RESTful. Я почав з ідентифікації ресурсів, аналізуючи назви операцій, і отримав ресурс Subscription. Коли мені потрібно оновити стан підписки, я не можу просто надіслати POSTзапит на сервер, оскільки у мене немає прямого доступу до ресурсів, але мені потрібно зателефонувати до …

3
Причини неінтуїтивної реалізації C # String.Split ()
У C #, якщо я хочу розділити stringінше, stringя повинен зробити щось подібне: testString.Split(new string[] { "anotherString" }, StringSplitOptions.None); З перевантаженої String.Splitдокументації MSDN ми бачимо реалізацію і чому такий дзвінок потрібно робити. Походячи з Python , мені важко правильно зрозуміти, чому такий дзвінок потрібен. Я маю на увазі, що я …

2
Архітектура системи сповіщень
Я хотів би створити систему, яка б обробляла тривожні повідомлення з різних програм і могла обробляти ці сповіщення споживачам по повітрю через електронну пошту. Все це міститиметься в одній внутрішній мережі. Я думаю, що я хочу, щоб основна архітектура виглядала приблизно так: Основна проблема, яку я маю на даний момент, …

1
Чому операторів Null-Safe (наприклад, «оператор Elvis») було відхилено як частину «Проектної монети» Java 7?
Однією із запропонованих функцій для проектної монети Java 7 був "Оператор Елвіса". У звіті з презентації JavaOne 2009 року на Project Coin описано його як таке: Однією з «дрібних особливостей», висвітлених у цій презентації, є так званий «оператор Елвіса», більш стисла версія потрійного оператора. Я вважаю, що мені не вистачає …
10 java  api-design 

4
Включити до повідомлення про помилку посилання на відповідну документацію?
Ми створюємо комерційну бібліотеку та приклади коду, якими користуються зовнішні розробники. Ми маємо (закриту, доступну для зареєстрованих користувачів) документацію, яка широко пояснює, як користуватися бібліотекою. Багато розробників є першими користувачами, тому виникає багато рудиментарних помилок. Чи доречно включати посилання на документацію в журнал помилок? Які можливі мінуси? Я можу передбачити …

2
Чому в підручнику Oracle Java перевіряються порівняно з неперевіреними винятками, які називаються «суперечками»?
Я новачок у Java і читав її документацію за винятками. , і особливо Неперевірені винятки - Сторінка суперечки . Суть говорить: Якщо від клієнта обґрунтовано можна очікувати, що відновиться після винятку, зробіть це перевіреним винятком. Якщо клієнт не може нічого зробити, щоб відновити виняток, зробіть це неперевіреним винятком. Я не …

2
Чи застосовується "Закон про деметер" для підписів методів public / API?
Враховуючи, що зміни в підписі API / public методу повинні бути мінімальними, щоб запобігти порушенню тих клієнтських кодів, які використовують ці методи, мені було цікаво, чи Закон Деметер менш застосовний до них. Простий приклад: class Account() { double balance; public void debit(Transaction t) { balance -= t.getAmount(); } } Зауважте, …

5
Підводні камені API в C [закрито]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Які деякі недоліки викликають гайки в API API (включаючи стандартні бібліотеки, сторонні бібліотеки та …
10 c  api-design  pitfalls 

2
Що таке правильний код статусу відповіді на POST, коли батьківський ресурс не знайдений?
У мене є така кінцева точка: a/{id}/b і хочете створити запит на bнадсилання POSTдо нього. Якщо aз даними {id}не знайдено, чи слід відповідати 404 NOT_FOUNDчи, можливо, з 409 CONFLICT? Це обробляти просто a/{id}, хитрість полягає в тому, що тут використовується субресурс.

2
Як уникнути несанкціонованого використання API?
Мені потрібно розробити "віджет", сценарій, який партнери вставлятимуть на свої веб-сайти, щоб відобразити якийсь інтерфейс користувача та здійснити дзвінки до нашого API. В основному він відображатиме наші дані на цих сайтах на основі деяких ідентифікаторів, які вони надають у наших дзвінках API. Чого ми хотіли б уникнути, це те, що …

3
Як я б створив метод TryParse, який надає детальну інформацію у випадку помилки розбору?
Під час розбору вводу користувача, як правило, рекомендується не кидати та виловлювати винятки, а скоріше використовувати методи перевірки. У .NET BCL це буде різниця між, наприклад, int.Parse(кидає виняток щодо недійсних даних) та int.TryParse(поверненням falseнедійсних даних). Я проектую своє Foo.TryParse(string s, out Foo result) метод, і я не впевнений у поверненому …
9 c#  .net  api-design 

3
Чи погана практика для визначення об’єкта API містити сторонні посилання Id як властивості?
Подобається це: 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" Я стурбований посиланнямId . Домен системи - це …

2
Додавання до кінцевого набору варіантів; Зміна порушення API?
Візьміть кінцеву точку API HTTP, яка випльовує таку модель відповідей: { "type": "Dog", "name": "Jessi", ... } typeПоле було описано в документації як один з Dog, Catабо Fish. Чи додати нову опцію, скажімо Rat, вважати нескінченною зміною API? Чи додавання опції до кінцевого списку (який розробник може включити) вважається розширенням …
9 rest  api  api-design  json 

3
У мові REST яка різниця між ресурсом та представництвом?
Я розумію REST, що дозволяє моделювати сервісні операції як подання стану та переходу з одного стану в інший, використовуючи HTTP. До недавнього часу я завжди розумів ресурси як уявлення про службовий стан, коли читав цю статтю Джиммі Богара, якого я знаю як розумний розробник / архітектор, якого поважає громада. Процитувати …
9 rest  api  api-design 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.