Skip to content

REST Litmus Test for Web Frameworks

nickl- edited this page Jun 23, 2012 · 2 revisions

from Stefan Tilkov's Random Stuff

Where does Respect/Rest progress stand on the scale?

The + sign indicates the portions we can say with confidence are complete and we have already started addressing the outstanding issues long before this test arrived. See the issue queue.

0% #|#|#|#|#| | | | | | 100%

  1. + Does the framework respect that an HTTP message does not only consist of a URI? I.e., is dispatch done at least based on the HTTP verb, the URI, the Content-type and Accept headers?
  2. + Can I easily use the same business logic while returning different content types in the response?
  3. Is there support for checking for conditional requests?
  4. Are ETags calculated automatically if none are set by the backend logic?
  5. Can I (as a framework user) easily read all HTTP request headers?
  6. Can I easily set all HTTP response headers?
  7. + Can I use custom HTTP verbs?
  8. Is it obvious and easy how to return correct status codes with responses, and does the framework use them correctly (if it does so at all)?
  9. Is there an easy way to produce links that "point back" resources identified by whatever means the framework exposes (such as some form of routing)?
  10. + Are resources identified and requests dispatched to code by the full URI, or is there an artificial distinction between the path and query parameters?

The following questions should be should be answered in the negative (no)

  1. + Are GET, POST and other requests to the same URI dispatched to the same business logic by default?
  2. + Am I required to use "extensions" (e.g. ".xml", ".json") to get different representations of the same resource? (Supporting this optionally is OK.)
  3. + Are there method names in the URI?