title: Providing complex filtering REST API
body: <p>So I am building a RESTful (as RESTful as I can) API with the Laravel 4 PHP Framework.  Right now I have dozens of API calls working and I have a process for being to do limit, ordering, and do simple filtering.  Here would be an example of one of the calls:</p>
  
  <pre><code>/api/v1/users?limit=10&amp;offset=10&amp;firstName=John&amp;order[]=createdTimestamp desc
  </code></pre>
  
  <p>This would return the 11th through 20th users that have a first name of John ordered by the createdTimestamp in descending order.  The simple filtering here can only does exact matches (=).  Now I also want to be able to provide a more complex filtering system through the REST API that supports the ability to specific the equality match type that way they could do a != or > or LIKE, etc...  The issue is that I don't know if I am going to be able to provide this type of filtering through a normal query string.</p>
  
  <p>What is the best way to provide this complex filtering through a REST API?  Is doing through a POST still considered the best way even though it is not "truly" RESTful (even though this would prevent issues of the user trying to run a long query that exceeds the URI character length limit that some browsers have)?</p>