What is a RESTafarian?

A RESTifarian is a zealous proponent of the REST software architectural style as defined by Roy T. Fielding in Chapter 5 of his PhD. dissertation at UCIrvine. You can find RESTifarians in the wild on the REST-discuss mailing list. But be careful, RESTifarians can be extremely meticulous when discussing the finer points of REST, as I learned recently while participating on the list. :)

8 Replies to “What is a RESTafarian?”

  1. If I take the color blue and I add to it a little yellow I end up with what some people may call green but I still call it blue and if you disagree with me I’ll call you a Blue-farian!

    The main point Fielding is making and it touches the common sense is that he defines REST in a certain way and that is REST. You may want to adopt REST and use it as Roy defines it or you may want to use HTTP and build your own architecture style, it is up to you but if you are doing something different than what REST is by definition then why be stubborn and still call it REST?

    It is also about communication. If I do REST by the book then it is easy to communicate with other people, I just tell them: “My API is RESTful” and I stop there.

    But if I tell them I do REST with the following exceptions: … and a few pages of documentation follows then what is the point of calling it REST?

    I can take SOAP with http biding and still calling it REST, it only uses POST for everything, it does not care about hyperlinks, the client gets XML no matter what it specifies in the Accept header, etc.

  2. Cool! You got a direct response from Roy. I’d love to be able to link to that for some question I asked…even if I got smacked down.

    I suppose I’m RESTafarian who has come to understand that most people don’t really care about Chapter 5 and just want to build stuff. I do hope that perhaps as an industry we will move past JSON-RPC-over-HTTP, but in the meantime, I’m happy to make a buck here or there and dream about that day. :)

    Thanks for this post.

Leave a Reply

Your email address will not be published.