Триггерное действие API REST

Это не первый REST API, в который я верю, но предыдущие, которые я сделал, были очень ручными. На этот раз я хочу, чтобы API вызывал действие, которое не запрашивает (не получает), не создает (не публикует), не удаляет (не удаляет) и не обновляет (не исправляет) ресурс. Я хочу, чтобы действие просто отправило PUSH-уведомление нужному получателю.

Мне пришло в голову: «Отправка POST», отправив на сервер json с получателем и сообщением. И статус ответа на 202.

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

0
задан 15.01.2017, 17:44
0 ответов

я думаю, что в твоем случае он правилен, использовать POST, чтобы посылать сообщение пользователю. Единственное, что ты должен иметь в виду, чтобы поддерживать философию REST, состоит в том, что urls должны представлять ресурсы. Принесенный к твоему случаю, ты можешь делать POST endpoint, который идентифицировал бы ресурс, который ты будешь создавать. Например:

POST xxxxxservidorxxx/message/{iddestinatario}

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

Я надеюсь, что это подает тебя

2
ответ дан 03.12.2019, 17:40