Какой ответ (код + контент) я должен вернуть, когда мой JsonAPI запрашивается для выполнения какой-либо операции, которая уже была выполнена или не имеет смысла?
Пример: предположим, я хочу запросить публикацию статьи. Черновик статьи обновляется через конкретную конечную точку (здесь не имеет значения), и есть конкретная конечная точка для публикации (чей ответ нас интересует)
4 разных сценария, мне нужно выяснить, какой тип ответа отправлять каждый раз:
Публикация никогда не запрашивалась, и в статье есть вся обязательная информация о публикации, имеет смысл запросить публикацию, поэтому я возвращаю принятый ответ 202 с ресурсом статьи, включая атрибут «публикация запрошена в»
Успешный запрос на публикацию публикации уже был отправлен/подтвержден, и ни у кого не было времени просмотреть его в промежутке между ними. Что мне вернуть?
Предыдущий запрос на публикацию был кем-то рассмотрен и принят (статья теперь опубликована). API снова получает запрос на публикацию этой статьи, которая уже была опубликована, это не имеет смысла, что я должен вернуть?
В статье не заполнена вся обязательная информация, и кто-то делает запрос на публикацию. Я должен сообщить пользователю, что его запрос не был удовлетворен из-за ошибок. Я думал, что для этого я мог бы вернуть список ошибок проверки. Звучит честно?