In his Addressing fragments in REST Simon St. Laurent says …
REST offers a great way to build simple applications that Create, Read, Update, and Delete resources. But what if you want to get at part of a resource?and
The problem is that developers can’t address the resource on which they want to work with sufficient granularity given their current set of tools and agreements.
Right. The answer that works best is, well, make the fragments addressable! PATCH is nice, but comes at a cost, cost for clients understand how to describe the patch, cost for the server to decode the patch format. Just like the case of batch, I would keep the bar higher for using PATCH. Time and again, I was reminded that granular resource modeling is not always possible, and time and again, I would repeat that, granular resource model is the first step that MUST be considered before uttering PATCH or BATCH.