Giter Site home page Giter Site logo

Comments (11)

beatkyo avatar beatkyo commented on May 12, 2024 1

@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.

fmvilas avatar fmvilas commented on May 12, 2024

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.

mattheworiordan avatar mattheworiordan commented on May 12, 2024

@fmvilas 👍 for x-schemes until the naming at least is standardised.

from spec.

fmvilas avatar fmvilas commented on May 12, 2024

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.

mattheworiordan avatar mattheworiordan commented on May 12, 2024

Ok, here goes :)

from spec.

fmvilas avatar fmvilas commented on May 12, 2024

Hey @mattheworiordan! How is this going? Would you still want to work on this issue?

from spec.

MikeRalphson avatar MikeRalphson commented on May 12, 2024

See also OAI/OpenAPI-Specification#1812

from spec.

fmvilas avatar fmvilas commented on May 12, 2024

🤔 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.

MikeRalphson avatar MikeRalphson commented on May 12, 2024

@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.

fmvilas avatar fmvilas commented on May 12, 2024

Oh I see. Thanks for explaining!

from spec.

asyncapi-bot avatar asyncapi-bot commented on May 12, 2024

🎉 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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.