title: How to design Multiple Patch requests in WebApi Core
body: <p>I would like to know what's the best way to design multiple updates to the resource(s) in WebApi .Net Core.</p>
  
  <p>For example, I would like to enable the following features for <code>users</code> resources</p>
  
  <ul>
  <li>Update User Password</li>
  <li>Update User role</li>
  <li>Update User Details (such as Firstname, last name, etc.)</li>
  </ul>
  
  <p>So, according to REST tutorials and articles, I learnt that I need to use <code>PATCH</code> method to update partial resource.</p>
  
  <p>We did some discussions in the team and we are confused with these two options:</p>
  
  <p><strong>Option 1</strong></p>
  
  <p>implement multiple PATCH routes for different actions</p>
  
  <ul>
  <li>PATCH <code>/api/users/{id}/password</code> </li>
  <li>PATCH <code>/api/users/{id}/role</code> </li>
  <li>PATCH <code>/api/users/{id}/details</code></li>
  </ul>
  
  <p><strong>Option 2</strong></p>
  
  <p>implement ONLY single PATCH action for the whole resource.  Users will send application/json-patch+json for partial updates.  </p>
  
  <ul>
  <li>PATCH <code>/api/users/id</code>  (accepts <code>JsonPatchDocument</code> parameter)</li>
  </ul>
  
  <p>I tried to find the best practices for Restful Route Namings and most of them only cover for simple CRUD activities or nested resources.  </p>
  
  <p>For this kind of multiple UPDATE operations, may I know what's the best practice for naming the routes?  Or the term for it to study in-depth?  Thanks.</p>