REST, на мой взгляд, не о создании нескольких действий, а о создании отдельных действий, которые действуют в рамках спецификации. В вашем случае вызов PUT / PATCH изменит заявку в службу поддержки. Поэтому, когда новые люди изучают ваш API и знают REST, они могут изменить заявку в службу поддержки.
Вместо того, чтобы выполнять несколько действий. Правильный подход - выполнять все действия при обновлении и основывать его на модели. Представьте себе ваш билет в службу поддержки в JSON вот так.
{
"id": 1,
"status": "open",
"message": "..."
}
Вместо того, чтобы думать, что я должен совершить открытое действие, примите статус как параметр при вызове обновления. Поэтому, если вы хотите обновить свой билет поддержки, чтобы он открывался и закрывался, сделайте это так. Тогда вам нужно будет выполнить только одно действие обновления, и ваш API извне станет более тонким и понятным.
url: api/tickets/1
action: PATCH
body:
{
"status": "closed",
}
Иногда возникает необходимость выполнить отдельные действия, я часто делаю это, если вам нужно начать работу или отправить электронное письмо. Но если вы выбрали свой оригинальный дизайн, я думаю, что действия под названием open и closed подойдут. Laravel
не имеет соглашения об именах вне ресурсов, и там это довольно бесплатно.