Question 1: Is there a de facto API/service description language standard out there?
Optional question 2: Which would be the best choice for a decentralised internet of services?
Question 1: Is there a de facto API/service description language standard out there?
Optional question 2: Which would be the best choice for a decentralised internet of services?
(Other options include RAML, Blueprint and IO Docs, but Swagger has the momentum)
WSDL on the other hand seems to be dead and/or unusable. Even one of its creators described it as a "train wreck" :)
Yeah, it's not. It's still what people in big enterprises do, or what people who want to do a quick API use.
If you're a .NET developer it's pretty easy to consume WDSL/SOAP services, so you might be more inclined to just use it when creating your own webservices.
There's of cause also the group that doesn't really know what they're doing, who just slaps a webservice method decorator on whatever internal function they wish to expose. Those are usually the worst APIs.
But yes, WDSL is a train wreck.
Disclosure: I'm a top contributor to swagger-codegen
A good starting point is to generate the SDK online: https://github.com/swagger-api/swagger-codegen#online-genera...
Swagger-Codegen can also generate server stub in SpringMVC, PHP Slim and more.
Disclosure: I'm a top contributor to the project.
Personally I use thrift. I think that's the most fit-for-purpose way of doing it. But many people object to any standard that's not purely HTTP-based.