title: Way to specify resource's fields list in RESTful API request
body: <p>I have a RESTful API within a web-service with resources such as users, posts and so on. When I make a request for a list of posts (GET /posts), I want to retrieve an array of posts only with limited data for each post (i.e. subject, author name). When I make a request for a concrete post (GET /posts/42) I want to retrieve the full list of post object fields, including big post body, additional info about likes count, comments count.
  I suppose there exist many ways to solve this problem.<br />
  In my mind, the three most obvious are:</p>
  <ol>
  <li>Explicitly specify a fields list on every request
  (<code>/posts?fields=subject,author_name</code> and
  <code>/posts/42?fields=subject,body,createAt,author_name,comments_count,likes_count</code>, etc...).</li>
  <li>Explicitly specify a fields list only if it differs from the default fields list.</li>
  <li>Specify a fields list that should be excluded (or included) from (to)
  the default fields set if the desired fields set differs from the default.</li>
  </ol>
  <p>I want to build a clear and useful API for my customers. Which way should I choose?</p>