forked from loafle/openapi-generator-original
85 lines
16 KiB
HTML
85 lines
16 KiB
HTML
<!DOCTYPE html><html lang=""><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>OpenAPI Generator · Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents"/><meta property="og:title" content="OpenAPI Generator · Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents"/><meta property="og:type" content="website"/><meta property="og:url" content="https://openapi-generator.tech/"/><meta property="og:description" content="Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents"/><meta property="og:image" content="https://openapi-generator.tech/img/docusaurus.png"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://openapi-generator.tech/img/icons/twitter.svg"/><link rel="shortcut icon" href="/img/favicon.png"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"/><link rel="alternate" type="application/atom+xml" href="https://openapi-generator.tech/blog/atom.xml" title="OpenAPI Generator Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://openapi-generator.tech/blog/feed.xml" title="OpenAPI Generator Blog RSS Feed"/><script>
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
|
|
ga('create', 'UA-132927057-1', 'auto');
|
|
ga('send', 'pageview');
|
|
</script><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="https://unpkg.com/vanilla-back-to-top@7.1.14/dist/vanilla-back-to-top.min.js"></script><script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
addBackToTop(
|
|
{"zIndex":100}
|
|
)
|
|
});
|
|
</script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/"><img class="logo" src="/img/mono-logo.svg" alt="OpenAPI Generator"/><h2 class="headerTitleWithLogo">OpenAPI Generator</h2></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/installation" target="_self">Get Started</a></li><li class=""><a href="/docs/generators" target="_self">Generators</a></li><li class=""><a href="/docs/roadmap" target="_self">Roadmap</a></li><li class=""><a href="/team" target="_self">Team</a></li><li class=""><a href="/docs/faq" target="_self">FAQ</a></li><li class=""><a href="/blog/" target="_self">Blog</a></li></ul></nav></div></header></div></div><div class="navPusher"><div><div class="homeContainer"><div class="homeSplashFade"><div class="wrapper homeWrapper"><div class="inner"><h2 class="projectTitle">OpenAPI Generator<small>Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents</small></h2><div class="splashLogo"><img src="/img/color-logo.svg" alt="Project Logo"/></div><div class="section promoSection"><div class="promoRow"><div class="pluginRowBlock"><div class="pluginWrapper buttonWrapper"><a class="button" href="#try">Try It Out</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="/docs/installation.html">Install</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="/docs/generators.html">Generators</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="/docs/customization.html">Customization</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="/docs/integrations.html">Integrations</a></div></div></div></div></div></div></div></div><div class="mainContainer"><div class="productShowcaseSection paddingBottom"><h2><b>Sponsors</b></h2><p>If you find OpenAPI Generator useful for work, please consider asking your company to support this Open Source project by <a href="https://opencollective.com/openapi_generator">becoming a sponsor</a>. You can also individually sponsor the project by <a href="https://opencollective.com/openapi_generator">becoming a backer</a>.</p><h3>Thank you to our bronze sponsors!</h3><div class="logos"><a href="https://www.namsor.com/?utm_source=openapi_generator&utm_medium=official_website&utm_campaign=sponsor"><img src="/img/companies/namsor.png" alt="NamSor" title="NamSor"/></a><a href="https://www.lightbow.net/?utm_source=openapi_generator&utm_medium=official_website&utm_campaign=sponsor"><img src="/img/companies/lightbow.png" alt="Lightbow" title="Lightbow"/></a><a href="https://docspring.com/?utm_source=openapi_generator&utm_medium=official_website&utm_campaign=sponsor"><img src="/img/companies/docspring.png" alt="DocSpring" title="DocSpring"/></a></div></div><div class="features"><div class="container paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement fourByGridBlock imageAlignTop"><div class="blockImage"><img src="/img/icons/plug.svg"/></div><div class="blockContent"><h2><div><span><p>Clients</p>
|
|
</span></div></h2><div><span><p>With <em>50+</em> client generators, you can easily generate code to interact with any server which exposes an OpenAPI document.</p>
|
|
<p>Maintainers of APIs may also automatically generate and distribute clients as part of official SDKs.</p>
|
|
<p>Each client supports different options and features, but all templates can be replaced with your own Mustache-based templates.</p>
|
|
<p>See <a href="/docs/customization.html">Customization</a> for details.</p>
|
|
</span></div></div></div><div class="blockElement fourByGridBlock imageAlignTop"><div class="blockImage"><img src="/img/icons/exchange.svg"/></div><div class="blockContent"><h2><div><span><p>Servers</p>
|
|
</span></div></h2><div><span><p>Getting started with server development can be tough, especially if you're evaluating technologies. We can reduce the burden when you bring your own OpenAPI document.</p>
|
|
<p>Generate server stubs for 40+ different languages and technologies, including Java, Kotlin, Go, and PHP.</p>
|
|
<p>Some generators support <em>Inversion of Control</em>, allowing you to iterate on design via your OpenAPI document without worrying about blowing away your entire domain layer when you regenerate code.</p>
|
|
</span></div></div></div></div></div></div><div class="container paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement fourByGridBlock imageAlignTop"><div class="blockImage"><img src="/img/icons/pencil.svg"/></div><div class="blockContent"><h2><div><span><p>Schemas/Configs</p>
|
|
</span></div></h2><div><span><p>Ever wanted to iteratively design a MySQL database, but writing table declarations was too tedious?</p>
|
|
<p>OpenAPI Generator offers some special generators such as Apache2 Configuration, MySQL and GraphQL schema generators.</p>
|
|
<p>You can easily extend these generators and their templates to create derivative generators!</p>
|
|
</span></div></div></div><div class="blockElement fourByGridBlock imageAlignTop"><div class="blockImage"><img src="/img/icons/newspaper-o.svg"/></div><div class="blockContent"><h2><div><span><p>Documentation</p>
|
|
</span></div></h2><div><span><p>OpenAPI documents allow you to convert the metadata about your API into some other format.</p>
|
|
<p>We include documentation formats such as HTML and Cwiki, which allow you to distribute static documentation to your consumers.</p>
|
|
<p>We also support generating from OpenAPI 2.0 to newer JSON/YAML OpenAPI 3.x documents.</p>
|
|
</span></div></div></div></div></div></div></div><div class="container lightBackground paddingBottom paddingTop"><div class="wrapper"><div class="gridBlock"><div class="blockElement imageAlignSide imageAlignRight twoByGridBlock"><div class="blockContent"><h2><div><span><p>Learn How</p>
|
|
</span></div></h2><div><span><p>OpenAPI Generator supports many different integrations and use cases, including (but not limited to):</p>
|
|
<ul>
|
|
<li>Maven Plugin</li>
|
|
<li>Gradle Plugin</li>
|
|
<li>Bazel Plugin</li>
|
|
<li>CLI via Homebrew</li>
|
|
<li>CLI via Docker</li>
|
|
<li>CLI via npm</li>
|
|
<li>Generator SaaS</li>
|
|
</ul>
|
|
<p>For details, see <a href="/docs/integrations.html">Workflow Integrations</a></p>
|
|
<p>Generation also allows for easy customization via options, custom templates, or even custom generators on your classpath. See <a href="/docs/customization.html">Customization</a> for details.</p>
|
|
</span></div></div><div class="blockImage"><img src="/img/color-logo.svg"/></div></div></div></div></div><div class="container paddingBottom paddingTop" id="connectOnSlack"><div class="wrapper"><div class="gridBlock"><div class="blockElement imageAlignSide imageAlignLeft twoByGridBlock"><div class="blockImage"><img src="/img/tools/Slack_Mark-256x256-3a29a6b.png"/></div><div class="blockContent"><h2><div><span><p>Active Community</p>
|
|
</span></div></h2><div><span><p><strong>Connect</strong> with us on Slack!</p>
|
|
<p>We're a very community-oriented project. We have an active community of users, contributors, and core team members on Slack. Slack is often a good
|
|
place to start if you're looking for guidance about where to begin contributing, if you have an idea you're
|
|
not sure fits the project, or if you just want to ask a question or say hello.</p>
|
|
<p>Slack is free to <a href="https://slack.com/downloads">download</a>, and our workspace is free to <a href="https://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM">sign up</a>.</p>
|
|
</span></div></div></div></div></div></div><div class="container paddingBottom paddingTop" id="try"><div class="wrapper"><div class="gridBlock"><div class="blockElement imageAlignSide imageAlignLeft twoByGridBlock"><div class="blockImage"><img src="/img/tools/npm.svg"/></div><div class="blockContent"><h2><div><span><p>Try via NPM</p>
|
|
</span></div></h2><div><span><p>The <a href="https://github.com/openapitools/openapi-generator-cli">NPM package wrapper</a> is cross-platform wrapper around the .jar artifact.
|
|
<strong>Install</strong> globally, exposing the CLI on the command line:</p>
|
|
<!-- RELEASE_VERSION -->
|
|
<pre><code class="hljs css language-bash"><span class="hljs-comment"># install the latest version of "openapi-generator-cli"</span>
|
|
npm install @openapitools/openapi-generator-cli -g
|
|
|
|
<span class="hljs-comment"># install a specific version of "openapi-generator-cli"</span>
|
|
npm install @openapitools/openapi-generator-cli@cli-4.2.3 -g
|
|
|
|
<span class="hljs-comment"># Or install it as dev-dependency in your node.js projects</span>
|
|
npm install @openapitools/openapi-generator-cli -D
|
|
</code></pre>
|
|
<!-- /RELEASE_VERSION -->
|
|
<p>Then, <strong>generate</strong> a ruby client from a valid <a href="https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml">petstore.yaml</a> doc:</p>
|
|
<pre><code class="hljs css language-bash">openapi-generator generate -i petstore.yaml -g ruby -o /tmp/<span class="hljs-built_in">test</span>/
|
|
</code></pre>
|
|
</span></div></div></div></div></div></div><div class="container paddingBottom paddingTop" id="tryHomebrew"><div class="wrapper"><div class="gridBlock"><div class="blockElement imageAlignSide imageAlignLeft twoByGridBlock"><div class="blockImage"><img src="/img/tools/homebrew-256x256.png"/></div><div class="blockContent"><h2><div><span><p>Try via Homebrew</p>
|
|
</span></div></h2><div><span><p><strong>Install</strong> via <a href="https://brew.sh/">homebrew</a>:</p>
|
|
<pre><code class="hljs css language-bash">brew install openapi-generator
|
|
</code></pre>
|
|
<p>Then, <strong>generate</strong> a ruby client from a valid <a href="https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml">petstore.yaml</a> doc:</p>
|
|
<pre><code class="hljs css language-bash">openapi-generator generate -i petstore.yaml -g ruby -o /tmp/<span class="hljs-built_in">test</span>/
|
|
</code></pre>
|
|
</span></div></div></div></div></div></div><div class="container paddingBottom paddingTop" id="tryDocker"><div class="wrapper"><div class="gridBlock"><div class="blockElement imageAlignSide imageAlignLeft twoByGridBlock"><div class="blockImage"><img src="/img/tools/docker.png"/></div><div class="blockContent"><h2><div><span><p>Try via Docker</p>
|
|
</span></div></h2><div><span><p>The OpenAPI Generator image acts as a standalone executable. It can be used as an alternative to installing via homebrew, or for developers who are unable to install Java or upgrade the installed version.</p>
|
|
<p>To generate code from a valid <a href="https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml">petstore.yaml</a> doc with this image, you'll need to mount a local location as a volume.</p>
|
|
<pre><code class="hljs css language-bash">docker run --rm \
|
|
-v <span class="hljs-variable">${PWD}</span>:/<span class="hljs-built_in">local</span> openapitools/openapi-generator-cli generate \
|
|
-i /<span class="hljs-built_in">local</span>/petstore.yaml \
|
|
-g go \
|
|
-o /<span class="hljs-built_in">local</span>/out/go
|
|
</code></pre>
|
|
<p>For a full list of our docker images, check out <a href="https://hub.docker.com/u/openapitools">u/openapitools</a> on Docker Hub.</p>
|
|
</span></div></div></div></div></div></div><div class="productShowcaseSection paddingBottom"><h2>Who is Using This?</h2><p>Here are some users of OpenAPI Generator</p><div class="logos"><a href="https://www.askul.co.jp/"><img src="/img/companies/logo-askul-01.gif" alt="ASKUL" title="ASKUL"/></a><a href="https://www.bithost.ch/"><img src="/img/companies/bithost.svg" alt="Bithost GmbH" title="Bithost GmbH"/></a><a href="https://www.juststarinfo.com/"><img src="/img/companies/juststar.png" alt="JustStar" title="JustStar"/></a><a href="https://www.metaswitch.com/"><img src="/img/companies/metaswitch.svg" alt="Metaswitch" title="Metaswitch"/></a><a href="http://www.stingray.com/"><img src="/img/companies/stingray.png" alt="Stingray" title="Stingray"/></a><a href="https://dev.telstra.com/"><img src="/img/companies/telstra.svg" alt="Telstra" title="Telstra"/></a><a href="https://www.unblu.com/"><img src="/img/companies/unblu.svg" alt="unblu inc." title="unblu inc."/></a><a href="https://wso2.com/"><img src="/img/companies/wso2.png" alt="WSO2" title="WSO2"/></a><a href="https://www.zalando.com/"><img src="/img/companies/zalando.jpg" alt="Zalando" title="Zalando"/></a></div><div class="more-users"><a class="button" href="/users.html">More OpenAPI Generator Users</a></div></div></div></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/mono-logo.svg" alt="OpenAPI Generator" width="66" height="58"/></a><div><h5>Docs</h5><a href="/docs/customization.html">Customizing Generators</a><a href="/docs/integrations.html">Workflow Integrations</a></div><div><h5>Community</h5><a href="/users.html">User Showcase</a><a href="http://stackoverflow.com/questions/tagged/openapi-generator" target="_blank" rel="noreferrer noopener">Stack Overflow</a><a href="https://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM">Chat Room</a><a href="https://twitter.com/oas_generator" target="_blank" rel="noreferrer noopener">Twitter</a></div><div><h5>More</h5><a href="/blog">Blog</a><a href="https://github.com/OpenAPITools/openapi-generator">GitHub Repo</a><a class="github-button" href="https://github.com/OpenAPITools/openapi-generator" data-icon="octicon-star" data-count-href="/OpenAPITools/openapi-generator/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2020 OpenAPI-Generator Contributors (https://openapi-generator.tech). (Both "OpenAPI Tools" (https://OpenAPITools.org) and "OpenAPI Generator" are not affiliated with OpenAPI Initiative (OAI))</section></footer></div></body></html> |