Я работаю над REST API и немного теряюсь в голове.У меня есть Модель для пользователей, и я храню (соленые) пароли в базе данных.
Рассмотрим потребителя API: я бы хотел, чтобы они могли получать общедоступную информацию для всех других пользователей (GET / users, / users /: id), но я бы хотел, чтобы пароли были опущены.
Однако, если, например, я хочу обновить информацию о зарегистрированном пользователе в обычном запросе PUT, у меня не будет существующего пароля пользователя для отправки в запросе PUT - так что запрос PUT будет выполнять толькочастичное обновление пользователя по всем другим его полям.Это не очень приятно.(Может быть, я должен использовать PATCH? Кажется, патч не используется широко. Есть ли причина для этого?)
Сейчас я думаю о POST at /users/:id/updatePassword
для обновления паролей, а затем PUT at /users/:id
обновить все остальное о пользователе, КРОМЕ пароля, и нет способа получить пароль пользователя из API.
Однако для меня это кажется .... странным.Может быть, это не так, но просто интересно, есть ли у кого-нибудь лучшие идеи, как спроектировать это?
Спасибо