Hacker News new | past | comments | ask | show | jobs | submit login

Clarifications from Roy himself:

https://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypert...

• A REST API should not be dependent on any single communication protocol

• A REST API must not define fixed resource names or hierarchies

• A REST API should be entered with no prior knowledge beyond the initial URI (bookmark)

• A REST API should spend almost all of its descriptive effort in defining the media type

This is the exact opposite of what people usually do and call it "REST": a predefined URL scheme for JSON tied to HTTP semantics

(this not to say that Roy's REST is in any way better; JSON over HTTP is nice. It's just funny that popular definitions of REST have flipped 180°).




> This is the exact opposite of what people usually do...

Indeed, because the people that actually build stuff figured that none of these constraints are beneficial absent a magical smart client that will never exist. People implement HTTP-RPC APIs. They call the result "REST API" for buzzword compliance, which turns out to be quite important. The nitpickers that insist on bringing more REST concepts like HATEOAS into the API only make things worse to use.

It's a similar situation to Alan Kay lamenting that most "object-oriented" language don't implement what he had in mind. The people that get stuff done just don't care. The people that do care build exotic systems that the rest of us just don't want to use.



the emphasis on resources as a low level 1 idea really sold me here.

urls- names for resources- are an axiomatic core part of the web. rest definitely emphasized that things have names, that we are using verbs to interact with individual things. dont get a /team get /team/42. now you've transfered that representation to you. i see this core idea of the web being made up of resources as fairly absent from the discussion here, or talked around, but martin did a good job really putting a pin on how basic, hiw essential resources are.

the real worlds restfulness start to breakdown when we look at how many objects have real urls in them. often the state has some id's. team may have an account id. but rest suggests this should likely be a url instead.

works like Marcel Weiher's In-process ReST work to make the server-side more restful, more url oriented. As opppsed to perhaps altering id's on the way out the door, a server can now think in terms of complete urls.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: