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

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

6
Що спільного для великих API? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Закрито 6 років тому . Заблокований . Це запитання та його відповіді заблоковано, оскільки це питання поза темою, але має історичне значення. Наразі не приймає нових відповідей чи взаємодій. Що це за чудові API, що робить їх …
15 api-design 

7
Як архітектуру автентифікації користувачів з клієнтських додатків?
Я розробляв додаток, який підтримуватиме багатьох користувачів. Справа в тому, що я не в змозі зрозуміти, як автентифікувати клієнта / користувача. Я будую такий додаток, як http://quickblox.com/, де я дам облікові дані своїм користувачам, і вони використовуватимуть їх для створення N додатків, у яких вони не можуть ввести своє ім’я …

1
Який правильний спосіб вкладати ресурси в модель REST?
Я розробляю REST API сервісу і застряг на належному шляху гніздування ресурсів. Ресурси: партнери, квитки, налаштування Зв'язки між ресурсами: партнер має багато квитків, партнер встановив налаштування, Бізнес-логіка: ви можете перелічити всіх партнерів як анонімного користувача, ви можете додати новий квиток вказаному партнеру як анонімний користувач, тільки партнер може перелічити свої …
14 api  rest  api-design 

5
Коли в дизайні API потрібно використовувати / уникати спеціального поліморфізму?
Сью проектуванні бібліотеки JavaScript, Magician.js. Його linchpin - це функція, яка витягує Rabbitаргумент, що передається. Вона знає, що його користувачі можуть захотіти витягнути кролика з String, а Number, а Function, можливо, навіть із HTMLElement. Зважаючи на це, вона могла б так розробити свій API: Суворий інтерфейс Magician.pullRabbitOutOfString = function(str) //... …

3
Потрібно, щоб ідентифікатори бекенда були відкритими чи не були в API REST?
На основі того, що каже цей хлопець: http://toddfredrich.com/ids-in-rest-api.html Припустимо, він має рацію щодо використання UUID для ідентифікації api-ресурсів. Тоді у мене виникають проблеми, намагаючись реалізувати це таким чином: class FooEntity { final String id = null; //auto-generated by my backend (mongodb), not shared final UUID uid = UUID.randomUUID(); //the resource …

4
Використовуйте склад та успадкування для ДТО
У нас є веб-API ASP.NET, який надає API REST для нашої програми на одній сторінці. Ми використовуємо DTO / POCO для передачі даних через цей API. Проблема полягає в тому, що ці DTO з часом збільшуються, тому тепер ми хочемо відновити DTO. Я шукаю "найкращі практики", як створити DTO: В …
13 rest  api-design  web-api  dto  poco 

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

8
Чи інтерфейс, що розкриває функцію асинхронізації, є хиткою абстракцією?
Я читаю книгу " Принципи, практики та схеми введення залежності", і читаю про концепцію непропускної абстракції, яка добре описана в книзі. Сьогодні я переробляю базу коду C #, використовуючи введення залежності, щоб виклики асинхронізації використовувались замість блокування. Таким чином я розглядаю деякі інтерфейси, які представляють абстракції в моїй кодовій базі …

3
Плоский або вкладений JSON для ієрархічних даних?
Я вже перемикався вперед і назад ~ 5 разів. Ця кінцева точка REST /api/tags/буде призначена для внутрішнього використання (немає сторонніх клієнтів), я єдиний, хто працює з нею. Я приймаю рішення між цими двома представленнями: Квартира { "types":[ { "id":1, "text":"Utility" }, { "id":7, "text":"Lease Terms" }, ], "tags":[ { "id":8, …
12 rest  api-design  json 

2
Чи слід мати дозвіл на невідомі параметри?
Я розробляю API RESTful і стикаюся з проблемою заголовка, перезавантаженою для ясності: Чи потрібно швидко відмовитися, якщо клієнт надсилає нерозпізнаний параметр? Наприклад, http://example.com/api/foo?bar=true&paula=bean У вищесказаному barє допустимим параметром, але paulaне визначений API. Чи я повинен Попередити клієнта про помилку Збій швидко Ігноруйте це Якщо я попередив клієнта, я можу винести …
12 rest  api-design 

1
Підтримуйте API проти використання ідіом у порту
Я працюю над портом від Python до Rust і натрапив на якийсь код, який не може бути виражений так природно в Rust, як вони можуть в Python. Один випадок цього - використання параметрів за замовчуванням: class Foo: def __init__(self, a="Hello"): self._a = a У Rust ви можете реалізувати це за …

2
Реалізація схеми команд в API RESTful
Я зараз розробляю API HTTP, сподіваюсь зробити його максимально РЕСТЕВНІМ. Є деякі дії, функціональність яких поширюється на декілька ресурсів, і колись їх потрібно скасувати. Я подумав собі, це звучить як шаблон команди, але як я можу моделювати його в ресурс? Я введу новий ресурс під назвою XXAction, як DepositAction, який …

2
Дизайн API бібліотеки C ++
Я шукаю хороший ресурс для вивчення хорошого дизайну API для бібліотек C ++, перегляду спільних об'єктів / dll тощо. Є багато ресурсів для написання приємних API, приємних класів, шаблонів тощо на рівні джерела, але майже нічого про об'єднання речей у спільні файли та виконавчі файли. Книги на кшталт крупномасштабного програмного …

2
Як створити кінцеві точки API для розміщення дочірнього об'єкта та отримання всіх дітей усіх батьків?
Наприклад, у мене є організації: Клієнт, Звіт. У клієнта може бути багато звітів, і я думаю, що кінцева точка для одного управління звітом має бути вкладена так: /clients/{client_id}/reports/{report_id} Що стосується всіх звітів одного клієнта, то очікується: /clients/{client_id}/reports Але як має виглядати кінцева точка для отримання всіх Звітів усіх Клієнтів, щоб …
12 rest  api  api-design 

3
Чи погана практика використовувати дефіси в клавішах JSON?
Я бачу багато питань, що обертаються навколо доступу до клавіш JSON, в яких використовуються дефіси (шашлик), але зараз мені здається, що мені просто дотримуватися camelCase або snake_case у своїх ключах. Я знаю, що дефіси також можуть створювати складні відображення, коли вони переносяться між мовами. Я бачив, як деякі бібліотеки JSON …

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