Comments (11)
@fmvilas I would like to add my 2 cts about tooling control. The way I see things, controlling code generators is the biggest mistake swagger ever made. Now (almost) every generator lives in a single repository under a single version. Trying to figure which version of the codegen is needed to generate code for a particular version of a framework for a particular version of a language
is a nightmare.
Even more, first release of codegen supporting OAS 3.0 took 14 month (from spec release to codegen release) ! Reason for it is that every body needs to update their generator to OAS3 to make the release happen ... And guess what, not every generators in codegen is supporting OAS3.0. So in the end we have an official may-be supporting 'OAS3' codegen. I wont even bother try to figure how to use this thing ...
You probably noticed I have some personal grief with swagger codegen :D. I developed 4 generators at my company (kinda obsessed with api generation). And from this point of view I can tell you working with swagger 'tool control' is really really painful ... For the record the last generator I wrote only uses open api java model, everything else is custom (no mustache, no abstract codegen) and it is by far the cleanest of all. So I would advise you not to repeat the same pattern. I just discovered AsyncApi and I must admit it would be a great thing to have along OAS.
Other than that I am in favor of leaving scheme
open to any value. User responsibility would be to pick the right tooling. Minimal expected behavior is to clearly state that scheme: abc
is not supported by the tool.
from spec.
That's a good point, Matt. I added a restriction on the number of protocols so that I could "control" how tooling evolves, but I don't think it makes sense anymore. Maybe it's time for server.scheme
to be just a string without restrictions in its value, and it's gonna depend on your tooling if it's supported or not.
However, I must say that the idea of using the x-[scheme]
sounds very good to me. After some time, we could grab a bunch of x-[scheme]
's and add them to the supported list.
from spec.
@fmvilas 👍 for x-schemes
until the naming at least is standardised.
from spec.
Cool! You want it to be your first issue? :) Feel free to mark it for version 1.3.0 and create a PR. Also, don't forget to add it here and move it to In Progress whenever you're working on it.
from spec.
Ok, here goes :)
from spec.
Hey @mattheworiordan! How is this going? Would you still want to work on this issue?
from spec.
See also OAI/OpenAPI-Specification#1812
from spec.
🤔 is it the same thing @MikeRalphson? I think the one you linked is related to security schemes. This issue is about schemes as in "protocols".
from spec.
@fmvilas sorry - it was more about the general approach of using custom
as an enum entry and having a customType
(or customScheme
) property, rather than using x-*
in the enum, which is difficult to validate. Though not all the OAI/TSC is in favour of this approach.
from spec.
Oh I see. Thanks for explaining!
from spec.
🎉 This issue has been resolved in version 1.0.0 🎉
The release is available on GitHub release
Your semantic-release bot 📦🚀
from spec.
Related Issues (20)
- Confusing Operation Object Example HOT 2
- Invite Heiko Henning to join as code owner HOT 11
- Should the Reply Object extend from the Operation Object? HOT 5
- Channel parameter type HOT 2
- Send/Receive again confusion HOT 3
- AsyncAPI v3 retrospective HOT 1
- Undefined description when using `OneOf`, `AllOf` or `AnyOf` HOT 2
- Undefined behaviour of "messageId" for Message Traits and Messages defined in components. HOT 3
- Avro specification inside AsycnApi file HOT 4
- Server Object host field compatibility with protocols
- testing -input command not found HOT 1
- Possible bug with example - adeo-kafka-request-reply-asyncapi HOT 17
- Decide what to do with OAS schema properties HOT 4
- Allow plain `string` in Message Example Object field payload for non-json payloads (like xml, yaml) HOT 5
- when to finish amqp serverBindings HOT 1
- Divide "Maintainer" role into two categories: Triager and Committer HOT 7
- How to define MQTT User Properties in an AsyncAPI document? HOT 1
- Extend Avro and OpenAPI schema versions HOT 13
- Multiple reply addresses HOT 2
- Fix description of Operation Trait object HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spec.