Я начал писать веб-приложения и распространяемые приложения, когда REST уже был популярен, поэтому я фактически никогда не использовал RPC.
При поиске простого объяснения разницы между ними я начал понимать, но некоторые примеры сбивали меня с толку.
Я видел такие вещи:
GET /getLastUser
или это:
POST /changeUserName
Если REST предназначен для ресурсов, а RPC — для процедур, не является ли плохой практикой использование RPC для чего-то подобного?
Поправьте меня, если я ошибаюсь, но, как мне кажется, RPC должен быть более чисто функциональным.
Это означает, что вызов процедуры всегда должен:
- возвращать тот же результат для тех же аргументов
- не влияет на состояние
Итак, вызовы RPC выглядят так:
GET /addTwo?num=5
которые возвращают что-то вроде этого:
{
"result": 7
}
кажутся мне более логичными (хотя это очень простой пример).
Если этот вопрос будет закрыт из-за того, что он слишком "основан на мнении", я просто буду знать, что должен делать все, что захочу...