Live data from Hacker News

REST is over

blog.steveklabnik.com

31–40 of 48 posts

Re: REST is over

#31
post #4

While the title is link bait, the author has a point and I think it was best summed up by his use of the word RESTish. Absolute adherence to REST nouns in every application is similar to the old over normalizing in relational databases some times it does not fit the need. But that does not make the concept null and void it just means that it is a good rule of thumb, to be broken when the situation calls for a differe…

What do you mean by "REST nouns"?

[deleted]

Re: REST is over

#34
post #4

While the title is link bait, the author has a point and I think it was best summed up by his use of the word RESTish. Absolute adherence to REST nouns in every application is similar to the old over normalizing in relational databases some times it does not fit the need. But that does not make the concept null and void it just means that it is a good rule of thumb, to be broken when the situation calls for a differe…

What do you mean by "REST nouns"?

This will go into detail far more than I can in a post. http://www.subbu.org/blog/2008/04/nouns-and-resources but the tl;dr is REST nouns are a construct in which you identify all of your objects in a system, these become your REST endpoints such as User in which you have GET, POST, PUT, DELETE each of these verbs causing a specific action on the object or noun. This works great for a large portion of the application but there are some areas such as transactions where it is very hard to logically turn the action into a noun and make it understandable. Sometimes we need the back end to orchestrate multi-step actions and the noun construct just does not convey the workflow. When this happens some people choose to use verb systematic such as generatePDF while still maintaining the REST HTTP actions while others tend to strictly adhere to making said process a noun which can effect readability.

Re: REST is over

#35

The point is correct. Page 39 or 40 of the original thesis, if you get the PDF version, says that the goal of the thesis is to provide a mechanism to build hypermedia systems. This usage is key. The system that you make using REST needs to provide all of the "linking" ability within the response. It also assumes (Roy never defined what hypermedia is) that the content type is described somewhere, possibly in some stan…

See, this is the problem with REST: just when you think you've finally grokked it and are building RESTfully, along comes yet another hurdle hidden behind the others. You're not really RESTful unless you also do X, where X is a seemingly infinite regress of progressively more pure necessary criteria that curve toward an asymptote. Seriously, why is it so hard to develop using a method that is supposed to make buildin…

You know what it reminds me allot of? MVC. MVC used to have a concrete definition in SmallTalk, Struts 1.0 adopted it fairly pure as well, but from there almost everything became MVC and MVC started to become a fairly generic term for separation of concerns. REST seems to me to be falling into the same trap where originally it was the HTTP actions, then nouns and verbs, now it seems to be expanding in scope again.

In defense of the grandparent post though, REST never specified a data or for that mater media format. It could be JSON or XML or even a binary format like a bitmap but a lot of people that talk about RESTfull services talk about JSON which is not a requirement of the original REST concept. REST was more about how a resource was accessed, not what that resource is.

Re: REST is over

#36
post #35

Earlier quoted context omitted.

See, this is the problem with REST: just when you think you've finally grokked it and are building RESTfully, along comes yet another hurdle hidden behind the others. You're not really RESTful unless you also do X, where X is a seemingly infinite regress of progressively more pure necessary criteria that curve toward an asymptote. Seriously, why is it so hard to develop using a method that is supposed to make buildin…

You know what it reminds me allot of? MVC. MVC used to have a concrete definition in SmallTalk, Struts 1.0 adopted it fairly pure as well, but from there almost everything became MVC and MVC started to become a fairly generic term for separation of concerns. REST seems to me to be falling into the same trap where originally it was the HTTP actions, then nouns and verbs, now it seems to be expanding in scope again. In…

originally it was the HTTP actions

Not really. The web is a RESTful system, but there's nothing specific to HTTP in REST. It's just an architectural style, it doesn't specify nothing in concrete.

Re: REST is over

#37

The point is correct. Page 39 or 40 of the original thesis, if you get the PDF version, says that the goal of the thesis is to provide a mechanism to build hypermedia systems. This usage is key. The system that you make using REST needs to provide all of the "linking" ability within the response. It also assumes (Roy never defined what hypermedia is) that the content type is described somewhere, possibly in some stan…

See, this is the problem with REST: just when you think you've finally grokked it and are building RESTfully, along comes yet another hurdle hidden behind the others. You're not really RESTful unless you also do X, where X is a seemingly infinite regress of progressively more pure necessary criteria that curve toward an asymptote. Seriously, why is it so hard to develop using a method that is supposed to make buildin…

There are only six constraints to be considered RESTful, and those are reasonably well defined. Anything else is either not really a part of REST (such as having to use all HTTP methods, or having clean URLs) or derived from them.

In this case, sending some representation as just JSON (application/json) clearly breaks the Uniform Interface constraint, particularly the HATEOAS principle: a client is supposed to only know the base URL and the mimetypes. If he gets 'application/json' as a reply, how is he supposed to know what to do with it? It may be a user profile, or a blog post, or a description of an UI, etc, there's no way to tell.

Re: REST is over

#39
post #35

Earlier quoted context omitted.

You know what it reminds me allot of? MVC. MVC used to have a concrete definition in SmallTalk, Struts 1.0 adopted it fairly pure as well, but from there almost everything became MVC and MVC started to become a fairly generic term for separation of concerns. REST seems to me to be falling into the same trap where originally it was the HTTP actions, then nouns and verbs, now it seems to be expanding in scope again. In…

originally it was the HTTP actions Not really. The web is a RESTful system, but there's nothing specific to HTTP in REST. It's just an architectural style, it doesn't specify nothing in concrete.

I understand that, but for all intents and purposes people are doing REST over HTTP, when people talk about REST and it's use on the web HTTP is implied, my use of originally was definitely not the correct word choice better verbiage would be "when it started to be used by web application developers REST was". That being said They (REST and HTTP) where envisioned together, while REST does not require HTTP, for the most part that is where it is being utilized, HTTP actions being used as the semantics to transfer the representative state.
Post reply on HN