Я хотел бы знать, является ли это REST или RPC на основе конечных точек и выполняемой операции.
Как клиент обнаруживает, что такое конечная точка и каковаinput json выглядит как?
В Интернете был бы стандартный тип носителя, который описывает формы;представление формы будет включать ключи и значения, целевой URI и метод HTTP для использования.Правила обработки описывают, как получить подробную информацию о форме и значениях, предоставленных потребителем, и из них создать HTTP-запрос.
Это REST: делать то, что мы делаем в Интернете.
Другой подход REST будет состоять в том, чтобы определить отношение ссылки , возможно "http://example.org/calculator", и тип носителя application/prs.calculator+json
, а затем задокументировать это в вашем контексте" http://example.org/calculator" отношение ссылки указывает, что целевой URI отвечает на сообщения POST с полезной нагрузкой application/prs.calculator+json
.По сути, это то, что Синдикация Atom и Паб Atom .
Это также ОТДЫХ.
Филдинг сделал интересный комментарий о API, который онЯ разработал
Я должен также отметить, что вышеупомянутое еще не полностью RESTful, по крайней мере, как я использую этот термин.Все, что я сделал, это описал сервисные интерфейсы, которые не более чем любой RPC.Чтобы сделать его RESTful, мне нужно было бы добавить гипертекст, чтобы представить и определить сервис, описать, как выполнить отображение с использованием форм и / или шаблонов ссылок, и предоставить код для объединения визуализаций полезными способами.
Тем не менее, если вы выполняете GET-with-a-payload, семантически безопасный запрос с телом, то вы, вероятно, попали в ловушку RPC-мышления.Обратите внимание, что в Интернете параметризованное чтение выполняется путем сообщения клиенту, как изменить target-uri (например, путем добавления строки запроса с данными, закодированными в соответствии со стандартизированными правилами обработки).