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

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

6
Чи існує схема обробки конфліктуючих параметрів функції?
У нас є функція API, яка розбиває загальну суму на щомісячні суми залежно від дати початку та закінчення. // JavaScript function convertToMonths(timePeriod) { // ... returns the given time period converted to months } function getPaymentBreakdown(total, startDate, endDate) { const numMonths = convertToMonths(endDate - startDate); return { numMonths, monthlyPayment: total …
38 api-design 

3
API REST - Чи повинен API повертати вкладені JSON об'єкти?
Якщо мова заходить про API JSON, чи корисна практика вирівняти відповіді та уникати вкладених JSON-об'єктів? Як приклад, можна сказати, що у нас є API, схожий на IMDb, але для відеоігор. Є кілька об'єктів, ігри, платформи, ESRBRating та GamePlatformMap, які відображають ігри та платформи. Скажімо, ви вимагаєте / game / 1, …
38 design  rest  api-design  json 

5
Як описати архітектурну зміну, яка навмисно порушує стандарти REST?
Я пропоную зміни в дуже погано зосередженому програмному проекті, який страждає від безлічі проблем. На високому рівні проект використовує Angular на передній частині та споживає різні API REST; що все чудово (я не бачу необхідності змінювати нашу технологію чи інструменти). Проблема полягає в тому, що база коду непропорційно більша в …

6
Чи повинен API HTTP завжди повертати тіло?
Чи існує якийсь стандарт щодо відповідей HTTP API? Прочитавши цю тему дискурсу, я задумався. Ми розробляємо наш публічний API HTTP JSON під час моєї роботи, і ми нічого не повертаємо, коли це не потрібно строго (наприклад, PUT в / Resource / {id} повертає 200 лише в порядку, або відповідний код …
33 rest  api-design  http 

10
Чому Math.Sqrt () є статичною функцією?
У дискусії про статичні та екземплярні методи я завжди думаю, що це Sqrt()повинен бути метод примірника типів чисел, а не статичний метод. Чому так? Це, очевидно, працює на цінність. // looks wrong to me var y = Math.Sqrt(x); // looks better to me var y = x.Sqrt(); Типи значення, очевидно, …

4
Чи повинні мікросервіси розмовляти між собою?
Я розробляю програму за допомогою Micro-Services, і я не впевнений, що найкращий механізм використовувати для збору даних з декількох сервісів. Я вважаю, що є два варіанти: Інтегруйте механізм зв'язку між послугами, який дозволяє послугам спілкуватися безпосередньо. Шлюз API повинен викликати окрему службу, яка потім викликає інші служби для збору даних, …

7
Навіщо використовувати непрозору "ручку", яка вимагає лиття в загальнодоступному API, а не набір typesafe вказівника?
Я оцінюю бібліотеку, публічний API якої зараз виглядає так: libengine.h /* Handle, used for all APIs */ typedef size_t enh; /* Create new engine instance; result returned in handle */ int en_open(int mode, enh *handle); /* Start an engine */ int en_start(enh handle); /* Add a new hook to the …

3
Чи є список загальних імен користувачів, які потрібно забронювати в новій системі?
Це питання було перенесено із переповнення стека, оскільки на нього можна відповісти на Exchange Software Stack Exchange. Мігрували 8 років тому . Мені потрібно зарезервувати імена користувачів на своєму новому веб-сайті. Вони, як правило, поділяються на три категорії 1) імена користувачів, які ніхто не повинен мати (наприклад: адміністратор, користувач, служба, …

4
Мікросервіси та зберігання даних
Я розглядаю можливість перенесення монолітного API REST на архітектуру мікросервісу, і я трохи заплутався щодо зберігання даних. Як я бачу, деякими перевагами мікросервісів були б: Горизонтально масштабований - я можу запускати кілька зайвих копій мікросервісу, щоб впоратися з завантаженням та / або сервером, що йде вниз. Мало пов'язаний - я …

3
RESTful API: HTTP-дієслова зі спільною або певною URL-адресою?
Створюючи API RESTful , чи слід використовувати HTTP Verbs за тією ж URL-адресою (коли це можливо) або я повинен створювати певну URL-адресу на дію? Наприклад: GET /items # Read all items GET /items/:id # Read one item POST /items # Create a new item PUT /items/:id # Update one item …

10
Дизайн API: конкретний та абстрактний підхід - найкращі практики?
Обговорюючи API між системами (на рівні бізнесу), в нашій команді часто існують дві різні точки зору: деякі люди віддають перевагу більш - скажімо, - загальний абстрактний підхід, інші - прямо "конкретний" підхід. Приклад: розробка простого API "пошуку людей". конкретна версія була б searchPerson(String name, boolean soundEx, String firstName, boolean soundEx, …

3
Чи правильно повертати HTML з API JSON?
У своєму теперішньому проекті я відповідаю за впровадження послуги, яка передбачає споживання новостворених API RESTful, документально підтверджених як виключно підтримуючий JSON. Клієнт послідовно робить запити із заголовком акцепту "application / json" та типом вмісту "application / json". Однак деякі кінцеві точки надсилають відповідь із типом HTML-вмісту, навіть тілом HTML. Для …

4
Створюючи api, я повинен дотримуватися невеликих функцій та багатьох дзвінків, або декількох дзвінків та великих функцій?
У мене є рейкова платформа, яку я підтримую. На ньому створено багато різних веб-додатків. Однак зараз клієнт просить API, щоб вони могли тримати користувачів на своєму сайті, але скористатися деякими автоматизованими завданнями, які ми маємо. Платформа використовується для створення страхових заявок та дозволяє придбати їх в Інтернеті, а також надає …

2
Чи варто складати власні коди статусу HTTP? (a la Twitter 420: Підвищити спокій)
Це питання було перенесено з помилки сервера, оскільки на нього можна відповісти на Exchange Software Stack Exchange. Мігрували 6 років тому . Зараз я впроваджую HTTP API, мій перший. Я витрачав багато часу на перегляд сторінки Вікіпедії для кодів статусу HTTP, тому що я налаштований реалізувати правильні коди для правильних …
24 api-design  http 

3
Рекомендований код статусу HTTP для відповіді "Ліміт плану перевищено"
Я розробляю API REST для проекту, де користувачі завжди перебувають на одному з декількох "планів" - кожен план визначає деякі обмеження ресурсів, наприклад, максимальну кількість користувачів, яку може мати обліковий запис, або максимальну кількість даних, які вони можуть завантажувати. Після досягнення однієї з цих меж користувачі можуть оновити свої плани …
24 rest  api-design  http 

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