Deriving a presentation layer from an API definition has no bearing on whether the client has to be stateful or not. The key difference for 'true' HATEOAS is that the API schema is sufficiently descriptive that the client does not need to request any presentation layer; arguably not even HTML, but definitely not CSS or JavaScript.
Dude, he literally mentions Java Applets as an example (it was popular back then, if it was written today it would have been JavaScript). It's all there. Section 5.1.7.
It's an optional constraint. It's valid for CSS, JavaScript and any kind of media type that is negotiable.
> resource: the intended conceptual target of a hypertext reference
> representation: HTML document, JPEG image
A resource is abstract. You always negotiate it, and receive a representation with a specific type. It's like an interface.
Therefore, `/style.css` is a resource. You can negotiate with clients if that resource is acceptable (using the Accept header).
"Presentation layer" is not even a concept for REST. You're trying to map framework-related ideas to REST, bumping into an impedance mismatch, and not realizing that the issue is in that mismatch, not REST itself.
REST is not responsible for people trying to make anemic APIs. They do it out of some sense of purity, but the demands do not come from HATEOAS. They come from other choices the designer made.
I will concede the thrust of my argument probably does not fully align with Fielding's academic definition, so thank you for pointing me to that and explaining it a bit.
I'm realizing/remembering now that our internal working group's concept of HATEOAS was, apparently, much stricter to the point of being arguably divergent from Fielding's. For us "HATEOAS" became a flag in the ground for defining RESTful(ish) API schemas from which a user interface could be unambiguously derived and presented, in full with 100% functionality, with no HTML/CSS/JS, or at least only completely generic components and none specific to the particular schema.
"Schema" is also foreign to REST. That is also a requirement coming from somewhere else.
You're probably coming from a post-GraphQL generation. They introduced this idea of sharing a schema, and influenced a lot of people. That is not, however, a requirement for REST.
State is the important thing. It's in the name, right? Hypermedia as the engine of application state. Not application schema.
It's much simpler than it seems. I can give a common example of a mistake:
GET /account/12345/balance <- Stateless, good (an ID represents the resource, unambiguous URI for that thing)
GET /my/balance <- Stateful, bad (depends on application knowing who's logged in)
In the second example, the concept of resource is being corrupted. It means something from some users, and something to others, depending on state.
In the first example, the hypermedia drives the state. It's in the link (but it can be on form data, or negotiation, for example, as long as it is stateless).
There is a little bit more to it, and it goes beyond URI design, but that's the gist of it.
It's really simple and not that academical as it seems.
Fielding's work is more a historical formalisation where he derives this notion from first principles. He kind of proves that this is a great style for networking architectures. If you read it, you understand how it can be performant, scalable, fast, etc, by principle. Most of the dissertation is just that.
I believe space is actually a protected industry, and your run of the mill h1b isn't good enough, you need citizenship too - see the ITAR reqs on SpaceX job openings: https://job-boards.greenhouse.io/spacex/jobs/8101417002
Love my Honda fit - had to replace the transmission at 160k km (in-warranty!) only thing I wish is it had AWD and just a little more clearance for the snow
What intelligent options are you offering for Canada then? The US is going to tariffs us. They have stated that their aim is economic warfare focusing on collapsing our economy so that they may annex us.
It seems in the face of existential threats to our sovereignty, every option should be considered where we have advantage, and there are few.
It seems like a posturing thing that the party wants to do in order to get votes and it hurts individuals while not actually providing real value. Tariff goods etc fine but don't start arbitrarily charging some people road access - thats dumb policy idea which probably got it's idea from a not so smart politician.
You're using the pronoun "they" for the US. But this is by no means the case that there is a singular entity that has stated this policy.
Right now the US is in a political crisis. It has elected a weak, narcissistic man without coherent or sensible policy who is for the short term without serious opposition. (Mainly because its own neo-liberal elite has done a garbage job of running the country for the last 30 years and the population is desperate to try something else.) That man and the sycophants who travel with him is trying to use us as a whipping boy, a sacrificial victim, to rally his base.
In reality what is happening to Canadian workers via these tariffs are not in the interests of American workers, either. If they wake up they will eventually deal with Trump. Things will come to a head. The US will either destroy itself, or rescue itself. Unfortunately we're very much tied to this process because of geography.
Trump is not weak. He has more power then any other previous president and completely loyal party behind him. He does not have e to even worry about laws at all.
Plus, Trump will blame Biden, woke, women, democrats and especially Canada and EU for bad economy. And Trumps base will 100% believe him.
Powerful people "speak softly and carry a big stick". Trump spoke loudly, then swung the stick that was given to him and proved to the rest of the world that the stick was a lot smaller than they believed it was.
No, that was a movie gangster. Trump is a real one. The world is literally afraid. Foreign countries don't think he is weak. They think he is dangerous bully.
Au contraire. A strong leader does not need to rely on the kinds of tools Trump has been employing.
The rise of someone like Trump to power reflects I think a fragmentation of consensus and weakening of legitimacy of the government. He's a reality TV star, an entertainer. Yes he has what seems like a blank cheque, but it's likely to backfire on him eventually.
No, you are doing a value judgement. Or using strong as a term of approval.
I am using "strong" as powerful and "can push for what he wants". Trump is absolutely that. There is no meaningful opposition.
He has control over DOJ, fired everyone involved in suits against him, hired loyalists. He is destroying law company that sued him and everyone is taking notes. Less opposition in the future.
He breaks law, courts already judged he can and when they don't, he attacks judges. They will fall.
The opposition has security removed while fans are made to hate them.
He is not weak. He is powerful. And saying he is weak just makes him more powerful
reply