title: RESTful API and bulk operations
body: <p>I have a middle tier which performs CRUD operations on a shared database.  When I converted the product to .NET Core I thought I'd also look at using REST for the API as CRUD is supposed to be what it does well.  It seems like REST is a great solution for single record operations, but what happens when I want to delete, say, 1,000 records?</p>
  
  <p>Every professional multi-user application is going to have some concept of Optimistic Concurrency checking: you can't have one user wipe out the work of another user without some feedback.  As I understand it, REST handles this with the HTTP ETag header record.  If the ETag send by the client doesn't match the server's tag, then you issue a <strong>412 Precondition Failed</strong>.  So far, so good.  But what do I use when I want to delete 1,000 records?  The back-and-forth time for 1,000 individual calls is considerable, so how would REST handle a batch operation that involved <strong>Optimistic Concurrency</strong>?</p>