Retrofit(https://square.github.io/retrofit/) is probably one of the best Java libraries I've ever used, missed it a lot when working in Python. Cross-pollination is awesome.
I'm currently working on fixing a semi broken REST API that exposed way too much of the data internals to clients. The clients have so much control over the DB that they must chain calls in a specific order and have none of them drop or else the DB can get into a nonsensical state. I understand why it was built this way by the consulting firm, because it let them leverage a server side framework to auto generate a ton of endpoints based on the DB schema, but it's a great example of REST gone wrong.
I'm considering transitioning to an RPC framework to dig out of this mess, but not sure that will go over well with one of the REST gurus on my team.
Retrofit(https://square.github.io/retrofit/) is probably one of the best Java libraries I've ever used, missed it a lot when working in Python. Cross-pollination is awesome.
If you are in the .NET world, you can use Refit or RestEase:
https://github.com/reactiveui/refit
https://github.com/canton7/RestEase
Nice library. And it's logo is very reminiscent of a game of the same name: http://cf.shacknews.com/images/20120608/ipadlan_22454.jpg
Most of the time we use json+http, we need an RPC mechanism, but are afraid to say it because the web people were duped into thinking REST is good.
I'm currently working on fixing a semi broken REST API that exposed way too much of the data internals to clients. The clients have so much control over the DB that they must chain calls in a specific order and have none of them drop or else the DB can get into a nonsensical state. I understand why it was built this way by the consulting firm, because it let them leverage a server side framework to auto generate a ton of endpoints based on the DB schema, but it's a great example of REST gone wrong.
I'm considering transitioning to an RPC framework to dig out of this mess, but not sure that will go over well with one of the REST gurus on my team.
the problem here seems to have nothing to do with REST
Pleasingly the docs here refer to HTTP APIs and not REST APIs.
It would be even more pleasing if "API" were dropped in favour of "protocol".
REST is good, we were duped into thinking that the Twitter API is an example of a REST API that is worth following.