Вопросы с тегом «api-design»

17
Обнаружение множества «государственных машин»

Я только что прочитал интересную статью под названием Получение слишком мило с C # yield return Это заставило меня задуматься о том, как лучше всего определить, является ли IEnumerable фактической перечисляемой коллекцией или это конечный автомат, созданный с помощью ключевого слова yield....

16
Когда использовать вложенные ресурсы в RESTful API

У меня есть два ресурса: пользователи и ссылки. Пользователи могут иметь несколько ссылок, связанных с ними. Я разработал мой RESTful API, чтобы вы могли получить доступ к ссылкам, связанным с пользователем, по следующему URI: /users/:id/links Однако мне всегда нужно иметь URI только для ссылок -...

16
Когда я должен использовать string_view в интерфейсе?

Я использую внутреннюю библиотеку, которая была разработана для имитации предложенной библиотеки C ++ , и иногда в последние несколько лет я вижу, что ее интерфейс изменился с использования std::stringна string_view. Поэтому я покорно изменяю свой код, чтобы соответствовать новому интерфейсу. К...

15
RESTful API и i18n: как оформить ответ?

Мы разрабатываем RESTful API, который в основном предназначен для удовлетворения потребностей одного клиента. Из-за особых обстоятельств этот клиент должен сделать как можно меньше запросов. API обрабатывает i18n через заголовок Accept-Language в запросах. Это работает для всех вещей, которые...

15
Управление версиями REST API. Каждый API имеет свою версию

Очень часто указывается версия API REST в URL-адресе, особенно в начале пути, например что-то вроде: POST /api/v1/accounts GET /api/v1/accounts/details Тем не менее, я не видел ни одного дизайна, где версия связана с каждым API. Другими словами, мы поддерживаем версию каждого API отдельно. то есть:...

15
Что общего у замечательных API? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Закрыто 6 лет назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или...

14
Как создать аутентификацию пользователя из клиентских приложений?

Я разрабатывал приложение, которое будет поддерживать многих пользователей. Дело в том, что я не могу понять, как аутентифицировать клиента / пользователя. Я создаю приложение, такое как http://quickblox.com/, где я предоставляю учетные данные своим пользователям, и они будут использовать их для...

14
Как правильно вкладывать ресурсы в модель REST?

Я разрабатываю REST API сервиса и застрял на правильном способе вложения ресурсов. Ресурсы: партнеры, тикеты, настройки Связи между ресурсами: у партнера много билетов, партнер имеет набор настроек, Деловая логика: Вы можете перечислить всех партнеров в качестве анонимного пользователя, Вы можете...

14
В разработке API, когда использовать / избегать специального полиморфизма?

Сью разрабатывает библиотеку JavaScript Magician.js. Его стержень является функцией, которая извлекает Rabbitиз переданного аргумента. Она знает, что ее пользователи могут захотеть вытащить кролика из a String, a Number, a Function, возможно, даже a HTMLElement. Имея это в виду, она могла бы...

14
Должны ли внутренние идентификаторы быть открытыми или нет в REST API?

На основании того, что говорит этот парень: http://toddfredrich.com/ids-in-rest-api.html Предположим, он прав в использовании UUID для идентификации ресурсов API. Затем я сталкиваюсь с проблемами, пытаясь реализовать это таким образом: class FooEntity { final String id = null; //auto-generated by...

13
Используйте состав и наследование для DTO

У нас есть веб-API ASP.NET, который предоставляет REST API для нашего одностраничного приложения. Мы используем DTO / POCO для передачи данных через этот API. Проблема в том, что эти DTO со временем становятся больше, поэтому мы хотим реорганизовать DTO. Я ищу "лучшие практики", как проектировать...

13
Является ли интерфейс, предоставляющий асинхронные функции, утечкой абстракции?

Я читаю книгу « Принципы, практики и модели внедрения зависимостей» и читаю концепцию утечки абстракций, которая хорошо описана в книге. В эти дни я делаю рефакторинг базы кода C #, используя внедрение зависимостей, так что вместо блокирующих используются асинхронные вызовы. Поступая так, я...

13
Когда я должен использовать AtomPub?

Я проводил некоторые исследования в области дизайна веб-сервисов RESTful и достиг того, что, по моему мнению, является ключевым моментом для принятия решения, поэтому я решил предложить его сообществу, чтобы получить совет. В соответствии с принципами архитектуры RESTful, я хочу представить...

12
Плохо ли использовать дефисы в ключах JSON?

Я вижу много вопросов, связанных с доступом к ключам JSON, в которых используются дефисы (кебаб-кейс), но теперь я задаюсь вопросом, стоит ли мне просто придерживаться camelCase или snake_case в моих ключах. Я знаю, что дефисы также могут создавать сложные отображения при переносе между языками. Я...

12
Должен ли я быть допускающим неизвестных параметров?

Я проектирую RESTful API и столкнулся с проблемой заголовка, для ясности: Должен ли я быстро потерпеть неудачу, если клиент отправляет нераспознанный параметр? Например, http://example.com/api/foo?bar=true&paula=bean Выше указан barдопустимый параметр, но paulaон не указан API. Нужно ли мне...

12
MVC и RESTful API сервис

MVC довольно прост. Есть Модель, Контроллер и Вид. Когда мы создаем веб-сайт, все это объединяется, когда клиент отправляет запрос ключевого слова REST на сервер -> сервер сопоставляет запрошенный URL с действием контроллера -> который затем вызывает модель (ы) для сбора / обработки данных,...

12
Поддерживать API и использовать идиомы в порту

Я работаю над портом от Python до Rust и наткнулся на некоторый код, который не может быть выражен так же естественно в Rust, как в Python. Одним из случаев этого является использование параметров по умолчанию: class Foo: def __init__(self, a="Hello"): self._a = a В Rust вы можете реализовать это с...

12
Как спроектировать конечные точки API для публикации дочернего объекта и для получения всех детей всех родителей?

Например, у меня есть объекты: Клиент, Отчет. У клиента может быть много отчетов, и я думаю, что конечная точка для управления одним отчетом должна быть вложена следующим образом: /clients/{client_id}/reports/{report_id} Что касается всех отчетов одного клиента, ожидается, что enpoint:...

12
Реализация шаблона команды в API RESTful

Я нахожусь в процессе разработки HTTP API, надеюсь, сделать его максимально RESTful. Есть некоторые действия, функциональность которых распространяется на несколько ресурсов, и иногда их нужно отменить. Я подумал, что это звучит как шаблон команды, но как я могу смоделировать его в ресурс? Я...

12
C ++ Library API Design

Я ищу хороший ресурс для изучения хорошего дизайна API для библиотек C ++, просмотра общих объектов / библиотек и т. Д. Есть много ресурсов по написанию хороших API, хороших классов, шаблонов и так далее на уровне исходного кода, но почти ничего о собирать вещи в общие библиотеки и исполняемые...