I only did level 3 once, it was a lot of work to make it work nicely according to the standards. In the end we noticed that the supplier that created the ios and android apps more or less ignored the links that we so carefully put in the response, when we thought of changing an endpoint that wouldn’t break because our users would get it out of the links section we had to rollback the release. So sticking with level 2 for now until a requirement for 3 shows up.
Nice concise and clear explanation. Thanks!
I like the way you come up with theories and origins before you get your hands dirty with code.
Currently use level 3 APIs throughout multiple micro service based systems. Simple and extremely powerful. Lower level operations exist here and there where appropriate, but overall I would never consider lower levels - would just add a ton of complexity and duplication
A video of creating a level 3 API from scratch would be :face-blue-smiling::face-blue-smiling::face-blue-smiling:
Very nice video! Just a question out of scope, which software are you using to draw on the screen ? Its really cool!
I'm curious what your thoughts are on apis where the parameters are to be kept confidential. In other words, while from a technical perspective one could create uris that represented the resources meeting a level 2 maturity model, it is desired to keep those parameters hidden. Second, it doesn't seem wise to use GET with request bodies to gain TLS support for that encrypting that data. Otherwise, remaining principles are all fine. Do we simply say well, we can't use this and move on, or am i being short sighted about something? Don't get me wrong, I am all for using the terms correctly and it has never bothered me to say I'm building a Web API to contrast it from REST. Just wondering if i need to rethink the scenario because I'm missing something.
We actually use Hypermedia in our company, and it really has some nice benefits that you just get as an effect :) Change the key of an entity? No problem, no changes in the client required
Good video. Regarding the subject, the term "maturity level" sounds conceited to me. How many of the other protocols not running on port 80 and 443 do you think use HTTP methods? I'm guessing none. And If there was a dedicated port for browser APIs I'd bet it wouldn't be based on HTTP or REST.
@deeplerg7913