1

Я разработчик Android, а также имею некоторые знания в области разработки RESTful API. В настоящее время я создаю API, используя Dot Net Web API. Все работает нормально, но меня все еще интересует дизайн.Лучшие рекомендации API RESTful

Основная проблема для меня теперь заключается в том, что именно должно быть метаданные ответа, такие как другие полезные элементы, которые я могу добавить помимо «Код ответа» и «Ответное сообщение».

Вторая забота обо мне заключается в том, что запрос должен быть асинхронным или запросом или и тем, и другим.

И последнее беспокойство заключается в том, какую технику следует использовать для создания сообщения с состоянием, такого как JWT или Basic Authentication, и т. Д. Без гражданства.

ответ

1

Сначала вы должны прочитать главу 5 из Architectural Styles and the Design of Network-based Software Architectures Роем Томасом Филдингом. Вы узнаете из первых рук об архитектурных ограничениях, элементах и ​​представлениях REST.

Основная проблема для меня теперь в том, что именно должно быть метаданные ответа, такие как другие полезные элементы, которые я могу добавить помимо «Код ответа» и «Ответное сообщение».

Один архитектурный элемент REST - это представления. Представления позволяют клиенту интерпретировать ответ. В случае RESTful HTTP-представления реализуются MIME-типом. Для получения дополнительной информации см. [2]. Другие аспекты, которые вы должны рассмотреть, это URI, поддерживаемые методы HTTP, параметры URL и тело сообщения.

Вторая забота обо мне заключается в том, что запрос должен быть асинхронным или запросом или и тем, и другим.

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

И последнее беспокойство то, что техника, которую я должен использовать, чтобы сделать динамическую связь, как JWT или базовой аутентификации и т.д.

JWT и базовая аутентификация являются лицами без методов проверки подлинности. Термин «без гражданства» означает, что клиентский запрос содержит всю информацию, необходимую для обработки запроса клиента клиентом.

0

1) META Data - представление ресурсов должно быть HATEOAS, приводимое в движение согласно Fielding. Поэтому вы можете подумать о добавлении связанных ресурсов links in meta data.

2) Sync/Async - Это зависит от того, какой API пытается это сделать. Если он вызывает длительный процесс, API Async является естественным выбором. В противном случае придерживаться Sync API.

3) Сознательная связь - Быть stateless является одним из ограничений архитектуры REST. Контент клиента не должен храниться на сервере между запросами. Клиент отвечает за управление состоянием заявки.

Смежные вопросы