What is the proper way to structure a RESTful resource for resetting a password?
This resource is meant to be a password resetter for someone who has lost or forgotten their password. It invalidates their old password and e-mails them a password.
The two options that I have are:
POST /reset_password/{user_name}
or…
POST /reset_password
-Username passed through request body
I’m pretty sure the request should be a POST. I’m less confident that I have selected an appropriate name. And I’m not sure if the user_name should be passed through the URL or the request body.
UPDATE: (further to comment below)
I would go for something like this:
You have a collection of users, where the single user is specified by the
{user_name}. You would then specify the action to operate on, which in this case isreset_password. It is like saying “Create (POST) a newreset_passwordaction for{user_name}“.Previous answer:
I would go for something like this:
You’d have two collections, a users collection, and an attributes collection for each user. The user is specified by the
:user_idand the attribute is specified bypassword. ThePUToperation updates the addressed member of the collection.