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

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

14
Чи слід писати бек-енд як API?
Сьогодні у мене була гостра дискусія щодо нашої програми MVC. У нас є веб-сайт, написаний на MVC ( ASP.NET ), і він, як правило, слідує шаблону зробити щось на виду -> натиснути на контролер -> контролер будує модель (викликає менеджера, який отримує дані, будує модель в сам метод контролера) -> …

4
Що таке антикорупційний шар і як він використовується?
Я намагаюся розібратися, що насправді означає антикорупційний шар. Я знаю, що це спосіб переходу / подолання застарілого коду чи поганих API. Я не розумію, як це працює і що робить його чистим відривом від небажаного шару. Я здійснив пошук, але не можу знайти простих прикладів чи пояснень, тому шукаю когось, …

7
Як пошук вписується в інтерфейс RESTful?
При проектуванні інтерфейсу RESTful семантика типів запитів вважається життєво важливою для дизайну. GET - Список колекції або отримання елемента PUT - Замініть колекцію чи елемент POST - Створення колекції або елемента DELETE - Ну, ерм, видалити колекцію чи елемент Однак, схоже, це не охоплює поняття "пошук". Наприклад, при розробці набору …

14
Чи має рішення бути максимально загальним або максимально конкретним?
Скажіть, у мене є сутність, яка має атрибут "type". Можливо 20 можливих типів. Тепер мене просять реалізувати щось, що дозволило б змінити тип з A-> B, що є єдиним випадком використання. Тож чи слід реалізувати щось, що дозволяє довільні зміни типу, якщо вони є дійсними типами? Або я повинен ТОЛЬКО …

5
Чи повинен я повернути статус HTTP 400 (неправильний запит), якщо параметр синтаксично правильний, але порушує правило бізнесу?
Скажіть, що у мене є кінцева точка REST, яка приймає ціле число в якості параметра: /makeWaffles?numberOfWaffles=3 У цьому випадку я хочу, щоб число було позитивним, оскільки я не можу зробити негативну кількість вафель (а запитувати 0 вафлі - це марна трата часу). Тому я хочу відхилити будь-який запит, який не …
56 api-design  http 

10
Яким має бути код статусу http для помилки "Сервіс недоступний у вашій області"?
Наше обслуговування зараз у 5 містах. Якщо хтось намагається зателефонувати на наш сервіс API з будь-якого іншого міста, ми хочемо видалити цю помилку Service not available in your area. Питання в тому, який відповідний http-код був би для цієї помилки? 503: Служба недоступна 403 Заборонено чи щось інше?
51 api  api-design  http 

9
Чи слід оберігати від несподіваних значень зовнішніх API?
Скажімо, ви кодуєте функцію, яка бере вхід із зовнішнього API MyAPI. Цей зовнішній API MyAPIмає контракт, в якому зазначено, що він поверне а stringчи a number. Є чи він рекомендував , щоб захиститися від таких речей , як null, undefined, booleanі т.д. , навіть якщо це не частина API з …

14
RESTful API дизайн. Що я повинен повернути, якщо немає рядків?
На даний момент я кодую API для соціальної мережі за допомогою Slim Framework. Моє запитання: Які найкращі практики, коли в структурі json немає рядків для повернення? Скажімо, що цей виклик / v1 / get / movies повертає 2 рядки з назв кінофільму таблиці: [ {"name": "Ghostbusters"}, {"name": "Indiana Jones"} ] …

6
Багато невеликих запитів порівняно з декількома великими запитами (API Design)
В даний час я працюю над проектом в організації таким чином: Клієнт - отримує дані з основного сервера через REST api. Сервер - запитує дані з різних інших серверів через сторонні API Сторонні API - сервіси, які не знаходяться під моїм контролем, які надають дані серверу (Reddit, Hackernews, Quora тощо) …

3
Чому метод PATCH не є безсильним?
Мені це було цікаво. Припустимо, у мене є userресурс з idі nameполями. Якщо я хочу оновити поле, я можу просто зробити запит PATCH на такий ресурс PATCH /users/42 {"name": "john doe"} І тоді додаток оновить ім'я користувача 42. Але чому, якщо я повторюю це прохання, результат був би іншим? За …

6
Наскільки необхідно дотримуватися практики оборонного програмування для коду, який ніколи не буде оприлюднений?
Я пишу реалізацію карткової гри на Java, тому створив спеціальний тип колекції, яку я називаю зоною. Усі способи модифікації колекції Java не підтримуються, але є метод в API Zone move(Zone, Card), який переміщує карту з даної зони до себе (виконується за допомогою пакетно-приватних методик). Таким чином я можу гарантувати, що …

3
Що такого поганого в DOM?
Я продовжую слухати людей (зокрема Крокфорда), які говорять про те, що DOM - це жахливий API, але не дуже виправдовує це твердження. Окрім невідповідностей між веб-переглядачами, якими є причини, чому DOM вважається таким поганим?

8
Чому java.util.ArrayList дозволяє додати null?
Цікаво, чому java.util.ArrayListдозволяє додати null. Чи є випадок, коли я хотів би додати nullдо ArrayList? Я задаю це питання, тому що в проекті у нас з'явилася помилка, де якийсь код додався nullдо, ArrayListі важко було помітити, де ця помилка. Очевидно, що NullPointerExceptionбуло кинуто, але не до того, як інший код …


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

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