title: Patch vs merge-patch which is appropriate?
body: <p>trying to see which models are best suited for <code>api</code> (low updates, but object structure could change often, high read application)</p>
  
  <p>I have a resource like this</p>
  
  <ol>
  <li><strong>Epic</strong> (id, name, description, start date, close date, status,
  <strong>stories</strong>)</li>
  <li><strong>Story</strong> (id, name, description, start date, close date, status, <strong>tasks</strong>)</li>
  <li><strong>Task</strong> (id, name, description, start date, resolution date,
  resolution)</li>
  </ol>
  
  <p>If I need to support just update of these , </p>
  
  <ol>
  <li>update <strong>Epic</strong> name or description or dates or status</li>
  <li>update <strong>Story</strong> name or description or dates or status</li>
  <li>update <strong>Task</strong> name or description or dates or status</li>
  </ol>
  
  <p>which makes sense?</p>
  
  <p><strong><code>PATCH</code> with <code>application/merge-patch+json</code> <code>RFC 7396</code></strong></p>
  
  <p>the resource should match target object structure</p>
  
  <ol>
  <li>epics/{id}  </li>
  <li>epics/{id1}/stories/{id2} .. and so on</li>
  </ol>
  
  <p><strong><code>PATCH</code> with <code>application/json</code></strong> - <strong>I am inclined to choose this</strong> as there is no need so strictly enforce <code>RFC 7396</code> and flexibility to update the rules of updates.</p>
  
  <p>your custom rules to update (but technically - I could just send the resource attributes that needs updates similar to <code>application/merge-patch+json</code>)</p>
  
  <ol>
  <li>epics/{id} </li>
  <li>epics/{id1}/stories/{id2} .. and so on</li>
  </ol>
  
  <p><strong><code>PUT</code> with <code>application/json</code></strong></p>
  
  <p>the resource should match all fields and create new object and replace (or cheat and just update only like in patch)</p>
  
  <ol>
  <li>epics/{id} </li>
  <li>epics/{id1}/stories/{id2} .. and so on</li>
  </ol>
  
  <p><strong><code>PUT</code> with <code>application/json</code></strong></p>
  
  <p>or cheat and just update only like in patch but use put</p>
  
  <ol>
  <li>epics/{id} </li>
  <li>epics/{id1}/stories/{id2} .. and so on</li>
  </ol>