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

Разработка интерфейса прикладного программирования (API) обсуждает лучшие практики для создания библиотек, предназначенных для общего или общественного использования.

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

3
Как спроектировать REST API для обработки операций без 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
Почему нуль-безопасные операторы (например, «оператор Элвиса») были отклонены как часть «Project Coin» Java 7?
Одной из предлагаемых функций Java 7 Project Project Coin была «Оператор Элвиса». Отчет о 2009 JavaOne презентации по проекту Coin описал его как таковой: Одной из «мелких особенностей», рассматриваемых в этой презентации, является так называемый «оператор Элвиса», более краткая версия троичного оператора. Я обнаружил, что мне не хватает некоторых функций …
10 java  api-design 

4
Включить ссылку на соответствующую документацию в сообщении об ошибке?
Мы создаем коммерческую библиотеку и примеры кода, которые используются внешними разработчиками. У нас есть (закрытая, доступная для зарегистрированных пользователей) документация, в которой подробно объясняется, как использовать библиотеку. Многие из разработчиков являются новичками, поэтому встречается много элементарных ошибок. Уместно ли включать ссылки на документацию в журнал ошибок? Каковы возможные недостатки? Я …

2
Почему проверенные и непроверенные исключения называются «противоречиями» в руководстве по Oracle Java?
Я новичок в Java и читал документацию по исключениям. и, в частности, « Непроверенные исключения» - страница «Противоречие» . Суть говорит: Если от клиента можно ожидать восстановления после исключения, сделайте его проверенным исключением. Если клиент не может ничего сделать для восстановления из исключения, сделайте его непроверенным исключением. Я не понимаю …

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

5
Подводные камни дизайна API в C [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Какие недостатки сводят вас с ума в C 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 содержать сторонние ссылочные идентификаторы в качестве свойств?
Нравится: 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" Я обеспокоен ссылкой . Системный домен представляет собой платформу, …

2
Добавление к конечному набору опций; сломать API изменения?
Возьмите конечную точку HTTP API, которая выделяет следующую модель ответа: { "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.