openapi tools generator vs swagger codegen - swagger

I am lost in dependencies and tools:
I previously use the following tool to generate code for my swagger webservices.
swagger-codegen-cli
https://mvnrepository.com/artifact/io.swagger.codegen.v3/swagger-codegen-cli/3.0.13
https://github.com/swagger-api/swagger-codegen
Then I noticed the following tool, and thought this was a successor:
openapi tools generator
https://github.com/OpenAPITools/openapi-generator
https://openapi-generator.tech/docs/installation.html
But the code that is generated uses different annotations and seems older.
Could somebody tell me, are these 2 tools related to eachother and which one is the more recent version?

From the OpenAPI Generator FAQs
What is the difference between Swagger Codegen and OpenAPI Generator?
Swagger Codegen is driven by SmartBear while OpenAPI Generator is
driven by the community. More than 40 top contributors and template
creators of Swagger Codegen have joined OpenAPI Generator as the
founding team members. For more details, see the Fork Q&A.
Swagger is a trademark owned by SmartBear and the use of the term
"Swagger" in this project is for demo (reference) purposes only.

One way to compare open-source projects is using https://openhub.net.
e.g. OpenAPI Generator vs Swagger Codegen.
From the activity and community graphs, openapi-generator seems to be a lot more active.

Its seems that openapi is in a messy state currently. I'm also confused on which generator to use... And I want to write a custom generator.
GRPC is in a much better state. Every generator is a plugin and the core is well maintained, are the community is not forking.
Update:
Our company has agreed to keep using OpenAPI. We're now using the new OpenSource variant of OpenAPI: openapi-generator.tech/
We've extended the python generators to tweak the generated code.
We're also using client generators in TypeScript and considering Kotlin and Swift for our mobile apps.
In the end it works well. If you're not ready to go binary with GRPC, OpenAPI is a nice alternative. It does requires a bit more, my experience with GRPC is that its a no-brains solution. "It Just Works".
But your miles may vary.

Related

Does MuleSoft support OpenAPI 3.x.x specification?

It is so confusing, can someone help me demystify?
Does MuleSoft support OpenAPI 3.x.x specification as of today? Also what is this RAML 1.0 specification? Do we really care about RAML specs when dealing with MuleSoft?
The OpenAPI Specification (OAS), originally known as the Swagger Specification, is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web services.
RAML, API Blueprint are same kind of IDL for REST API.
MuleSoft have a product called Anypoint Platform API designer that can help design only RAML API specifications, so it does NOT support OAS 3.0.0.
However, the product support the OAS 2.0. You can import an OAS ZIP or JSON file from your file system or from a URL. The importation converts the OAS to RAML. Basically, it is OAS to RAML converter.
The OAS 3.x support has been released in MuleSoft in API Designer, Anypoint Exchange, and Anypoint API Community Manager since June 26, 2020.
You still can not use OAS 3.x in the implementation and manually have to convert it to RAML or OAS 2.0. But API consumers can still discover, learn, and consume the APIs seamlessly, regardless of the specification language.
More in this link. https://docs.mulesoft.com/release-notes/platform/oas3
Here you go. there is a latest release on OAS3.1.0 support in mule4.
Anypoint studio, designer, exchange supports new features such as callbacks and links.
If you want to migrate mule3 to mule4 use mule migration assistant.
https://docs.mulesoft.com/release-notes/platform/oas3
Please have a look at it.

What are the ways to generate language server for Xtext based Eclipse plug-in project?

We have our own language developed over Xtext. This project is Xtext Project and Eclipse Plug-in.
For this language, we have our own custom Content Assist, error navigation. All these components are configured in UI module of the plugin project.
Can you please help me to understand how these components can be used in Language Server protocol?
Can configuration in any way(mwe2 or any other way) so that it will use my custom content assist and error navigation in Language server instead of Xtext provided?
They are not used at all. All the is used by the language service resides in the mydsl (runtime) and mydsl.ide (eclipse independent ui part) projects.
Thus you have to implement content assist again in the ide project extending https://github.com/eclipse/xtext-core/blob/master/org.eclipse.xtext.ide/src/org/eclipse/xtext/ide/editor/contentassist/IdeContentProposalProvider.xtend
There are plans to unify both extension points https://github.com/eclipse/xtext-eclipse/issues/139

is it possible to use dart with jsp?

I am using spring framework for my java enterprise application .
I felt javascript / jquery is hard to maintain for larger enterprise application.
Classes and Objects makes code maintenance easier.
how can i use dart with spring framework / JSP?.
The HTML code can be generate with JSP. However, we cannot debug with Dart Editor anymore.
It would be nice and more encourage people to start to use Dart by just by support debugging a HTML with dart from non-standard dart editor debug server.
For example: The HTML part is served by a Jetty server which contains links to dart
and we should be able to debug in Dart Editor.
Personally, This is the most needed feature otherwise, it's difficult to ask people to migrate old sytem with JSP, PHP to start to use Dart
We are listening to Dartian reponse.
I found one issue in Dart issue list: https://code.google.com/p/dart/issues/detail?id=3748
The best way to use dart with springframework and JSP is to create rich client app (RCP) in dart and use springframework and JSP for implementing a service layer that should be used by the RCP.
There are various disadvantages if you chose to mix the application state between the client (browser) and the server. Much more scalable model is to build on service oriented architecture (SOA) and keep the UI logic solely on the client side.
Hope it helps ;-)

Should I use WSDL specification 1.1 or 2.0?

What are the criteria to decide whether to write WSDL's after the 1.1 or the 2.0 specification?
Should one use by default 1.1 or 2.0?
It's hard to answer without any additional info.
While WSDL 1.1 is not an official standard, it is a de-facto standard, so many tools support it. WSDL 2.0 has little support from tools:
Apache Woden - no recent development, problems with WSDL 2.0 generation.
EasyWSDL - problems with parsing extensions, looks like version 3.0 is in development.
tinyWSDL - some JAXB limitations and bugs keeps it in beta.
Note that WSDL 2.0 specification differs from WSDL2.xsd, so not all rules may be validated or reflected in XML Schema.
Nothing prevents you from using both. Woden and tinyWSDL have converters WSDL 1.1 -> 2.0. easyWSDL not sure (2.0 uses the same model for both 1.1/2.0, but could it be used for conversion?).
In any case you can convert 95% of your WSDL 1.1 into WSDL 2.0.
Cheers,
D.

Structuremap 2.0 documentation

I'm just starting to learn DI/IOC methods and like what I see so far from Structuremap. The problem is that my current project is limited to .NET 2.0 so I cannot use the new version (2.5) of Structuremap. That being said, can someone point me towards some documentation for v2.0? Most articles and tutorials use v2.5 and only a small few use previous versions. The ones I can find are VERY basic in nature and I'd like to see all the features Structuremap has to offer. Thanks
Your best bet would be to download the Docs folder from the Release_2.0 tag of StructureMap's subversion repository:
http://structuremap.svn.sourceforge.net/viewvc/structuremap/tags/Release_2.0/Docs/
If you do not have subversion installed, there is a link at the bottom to download a GNU tarball, which you should be able to open with 7zip.

Resources