13

Please stop calling calling rest to any json over http api. That's not rest, rest has its specifics details to be called rest.

Comments
  • 1
    Oooh religion, I like it :D

    Is it REST if it doesn't implement HATEOAS?
  • 1
    @SortOfTested Well, putting names on things was the first of Adam's jobs. Poor Adam, if he saw what we have done with language he'd be sad.

    And yes, it should implement HATEOAS, on top of respecting all the 5 mandatory constraints
  • 1
    By so far I have not used a single 'Rest' api that fully implements rest completely or correct.. Most Devs are lazy, implement what they need and call it 'RESTful' or 'RESTlike'. Meh.
    Also, management often says 'don't waste time in that, we'll do it later'. Ofc it will never be done.
  • 0
    In fairness, REST came before HATEOAS, so I think it's completely valid labelling something a rest API if it doesn't conform to that.

    I do much prefer proper, HATEOAS compliant REST APIs however.
  • 0
    @AlmondSauce do you have a reference?
  • 0
    @AlmondSauce every part of that statement is incorrect. REST was designed with 5 core constraints, one of them is Uniformity of the interface.

    And part of that is HATEOAS.

    Now when one thing is defined to be a set with mandatory elements, taking away one element makes it "not that thing", but some other thing.

    Otherwise you are just using words that have one meaning to describe a different thing, creating confusion.

    Now, this is true for standards and human constructs, is not true for natural occurring things, like a human, a human with one kidney is still a human, a human with no liver is a dead human.

    Rest without HATEOAS is not rest.
    Is just an HTTP API.
  • 1
    @galileopy Oh my, right you are. Happy to admit when I'm wrong, and completely wrong in this case!
  • 2
    @AlmondSauce
    Sorry for the bait, just inducing conversation through controversy. 😘
  • 0
    @SortOfTested Not at all. Always happy to be wrong and learn something new!
  • 0
    @AlmondSauce maybe I overreacted a bit. And when I asked for references I was truly honest about that.

    There's nothing wrong with saying that you are building your app using some concepts of the REST architecture or calling it REST like.

    The problem arises when we stop clarifying that it is a partial implemention of REST. Because we stop learning and we marry with an improper definition.

    Now I'm going to speculate, I suspect that, if we truly had the habit of implementing REST we would discover by ourselves how to design DSLs that improve the underlying language we are working to bring it closer to the problem domain of our application.

    By saying it is REST, we limit ourselves, we leave a whole domain of programming unexplored and unknown, I'm guilty of cutting corners in the same way in the past, maybe I should try to polish this idea.

    Apologies for the tone in the previous comment.
  • 1
    @galileopy No problem at all, I was wrong and you called me out on it.

    But yes, terminology aside I've certainly always thought HATEOAS was a great thing, and that more people should be using it. We use it for our internal APIs extensively.
Add Comment