openapi-generator/index.html

49 lines
24 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<meta name="generator" content="Docusaurus">
<link rel="preconnect" href="https://www.google-analytics.com">
<script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-132927057-1","auto"),ga("send","pageview")</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
<link rel="preconnect" href="https://www.google-analytics.com">
<script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-132927057-1","auto"),ga("send","pageview")</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
<script src="https://buttons.github.io/buttons.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
<script src="/js/code-block-buttons.js"></script>
<title data-react-helmet="true">Hello from OpenAPI Generator</title>
<meta data-react-helmet="true" http-equiv="x-ua-compatible" content="ie=edge"><meta data-react-helmet="true" property="og:title" content="Hello from OpenAPI Generator"><meta data-react-helmet="true" name="description" content="Description will go into a meta tag in &lt;head /&gt;"><meta data-react-helmet="true" property="og:description" content="Description will go into a meta tag in &lt;head /&gt;"><meta data-react-helmet="true" property="og:image" content="https://openapi-generator.tech/img/docusaurus.png"><meta data-react-helmet="true" property="twitter:image" content="https://openapi-generator.tech/img/docusaurus.png"><meta data-react-helmet="true" name="twitter:image:alt" content="Image for Hello from OpenAPI Generator"><meta data-react-helmet="true" name="twitter:card" content="summary">
<link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.png">
<link rel="stylesheet" href="/styles.62ba095c.css">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}function e(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}var n=window.matchMedia("(prefers-color-scheme: dark)");n.addListener((function(n){null===e()&&t(n.matches?"dark":"")}));var a=e();null!==a?t(a):n.matches&&t("dark")}()</script>
<div id="__docusaurus">
<nav class="navbar navbar--light navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a aria-current="page" class="navbar__brand active" href="/"><img class="navbar__logo" src="/img/mono-logo.svg" alt="OpenAPI Tools logo"><strong>OpenAPI Generator</strong></a><a class="navbar__item navbar__link" href="/docs/installation">Getting Started</a><a class="navbar__item navbar__link" href="/docs/generators">Generators</a><a class="navbar__item navbar__link" href="/docs/roadmap">Roadmap</a><a class="navbar__item navbar__link" href="/docs/faq">FAQ</a><a class="navbar__item navbar__link" href="/team">Team</a><a class="navbar__item navbar__link" href="/blog">Blog</a><a class="navbar__item navbar__link" activeclassname="navbar__link--active" to="https://api.openapi-generator.tech" href="https://api.openapi-generator.tech">API</a></div><div class="navbar__items navbar__items--right"><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_1gtM"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_keGJ moon_1gwN"></span></div><div class="react-toggle-track-x"><span class="toggle_keGJ sun_3CPA"></span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" placeholder="Search" aria-label="Search" class="navbar__search-input search-bar"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a aria-current="page" class="navbar__brand active" href="/"><img class="navbar__logo" src="/img/mono-logo.svg" alt="OpenAPI Tools logo"><strong>OpenAPI Generator</strong></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/docs/installation">Getting Started</a></li><li class="menu__list-item"><a class="menu__link" href="/docs/generators">Generators</a></li><li class="menu__list-item"><a class="menu__link" href="/docs/roadmap">Roadmap</a></li><li class="menu__list-item"><a class="menu__link" href="/docs/faq">FAQ</a></li><li class="menu__list-item"><a class="menu__link" href="/team">Team</a></li><li class="menu__list-item"><a class="menu__link" href="/blog">Blog</a></li><li class="menu__list-item"><a class="menu__link" activeclassname="navbar__link--active" to="https://api.openapi-generator.tech" href="https://api.openapi-generator.tech">API</a></li></ul></div></div></div></nav><div class="main-wrapper"><header class="hero hero--primary heroBanner_2Ftp"><div class="container"><h1 class="hero__title">OpenAPI Generator</h1><p class="hero__subtitle">Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents</p><div class="buttons_1Wc3"><a aria-current="page" class="button button--outline button--secondary button--lg active" href="/#try">Try It Out</a><a class="button button--outline button--secondary button--lg" href="/docs/installation">Install</a></div><div class="buttons_1Wc3"><a class="button button--outline button--secondary button--md" href="/docs/generators">Generators</a><a class="button button--outline button--secondary button--md" href="/docs/customization">Customization</a><a class="button button--outline button--secondary button--md" href="/docs/integrations">Integrations</a></div></div></header><div class="announcement_SnPq announcementDark_mjZd"><div class="announcementInner_363r"><h2><b>Sponsors</b></h2><p>If you find OpenAPI Generator useful, please consider asking your company to <a href="https://opencollective.com/openapi_generator">become a sponsor</a>.</p><p>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="avatar bronzeSponsorAvatars_3X8g"><a class="avatar__photo-link bronze-sponsor" href="https://www.namsor.com/?utm_source=openapi_generator&amp;utm_medium=official_website&amp;utm_campaign=sponsor"><img src="/img/companies/namsor.png" alt="NamSor" title="NamSor" class="avatar__photo avatar__photo--lg"></a><a class="avatar__photo-link bronze-sponsor" href="https://www.lightbow.net/?utm_source=openapi_generator&amp;utm_medium=official_website&amp;utm_campaign=sponsor"><img src="/img/companies/lightbow.png" alt="Lightbow" title="Lightbow" class="avatar__photo avatar__photo--lg"></a><a class="avatar__photo-link bronze-sponsor" href="https://docspring.com/?utm_source=openapi_generator&amp;utm_medium=official_website&amp;utm_campaign=sponsor"><img src="/img/companies/docspring.png" alt="DocSpring" title="DocSpring" class="avatar__photo avatar__photo--lg"></a><a class="avatar__photo-link bronze-sponsor" href="https://datadoghq.com/?utm_source=openapi_generator&amp;utm_medium=official_website&amp;utm_campaign=sponsor"><img src="/img/companies/datadog.png" alt="Datadog" title="Datadog" class="avatar__photo avatar__photo--lg"></a><a class="avatar__photo-link bronze-sponsor" href="https://cpl.thalesgroup.com/?utm_source=openapi_generator&amp;utm_medium=official_website&amp;utm_campaign=sponsor"><img src="/img/companies/thales.jpg" alt="Thales" title="Thales" class="avatar__photo avatar__photo--lg"></a><a class="avatar__photo-link bronze-sponsor" href="https://www.apideck.com/?utm_source=openapi_generator&amp;utm_medium=official_website&amp;utm_campaign=sponsor"><img src="/img/companies/apideck.jpg" alt="Apideck" title="Apideck" class="avatar__photo avatar__photo--lg"></a></div></div></div><main><section class="features_P2SU"><div class="features container"><div class="row"><div class="col col--6"><div class="text--center"><img class="featureImage_3Xqx" src="/img/icons/plug.svg" alt="logo"></div><h3>Easy to Use</h3><div><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>See <a href="./docs/customization">Customization</a> for details.</div></div><div class="col col--6"><div class="text--center"><img class="featureImage_3Xqx" src="/img/icons/exchange.svg" alt="logo"></div><h3>Servers</h3><div><p>Getting started with server development can be tough, especially if you&#x27;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></div></div><div class="col col--6"><div class="text--center"><img class="featureImage_3Xqx" src="/img/icons/pencil.svg" alt="logo"></div><h3>Schemas/Configs</h3><div><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></div></div><div class="col col--6"><div class="text--center"><img class="featureImage_3Xqx" src="/img/icons/newspaper-o.svg" alt="logo"></div><h3>Documentation</h3><div><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></div></div></div></div></section><section class="callout_PvmD"><div class="callout container"><div id="learn" class="row calloutRow_5DTz"><div class="col col--3 blockImage"><img class="image" src="/img/color-logo.svg" alt="learn logo"></div><div class="col col--9"><h2>Learn How</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>SBT Plugin</li><li>Cake 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">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">Customization</a> for details.</p></span></div></div></div><div id="connectOnSlack" class="row calloutRow_5DTz"><div class="col col--3 blockImage"><img class="image" src="/img/tools/Slack_Mark-256x256-3a29a6b.png" alt="connectOnSlack logo"></div><div class="col col--9"><h2>Active Community</h2><p><strong>Connect</strong> with us on Slack!</p><p>We&#x27;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&#x27;re looking for guidance about where to begin contributing, if you have an idea you&#x27;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" class="href">download</a>, and our workspace is free to <a href="https://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM" class="href">sign up</a>.</p></div></div><div id="try" class="row calloutRow_5DTz"><div class="col col--3 blockImage"><img class="image" src="/img/tools/npm.svg" alt="try logo"></div><div class="col col--9"><h2>Try via npm</h2><p>The <a href="https://github.com/openapitools/openapi-generator-cli" class="href">npm package wrapper</a> is cross-platform wrapper around the .jar artifact.</p><p><strong>Install</strong> globally, exposing the CLI on the command line:</p><p></p><div class="codeBlockWrapper_2QGZ"><pre class="prism-code language-bash codeBlock_19pQ" style="color:#F8F8F2;background-color:#282A36"><div class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># install the latest version of &quot;openapi-generator-cli&quot;</span><span class="token plain"></span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token function" style="color:rgb(80, 250, 123)">npm</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> @openapitools/openapi-generator-cli -g</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># use a specific version of &quot;openapi-generator-cli&quot;</span><span class="token plain"></span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli version-manager </span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">set</span><span class="token plain"> </span><span class="token number">4.3</span><span class="token plain">.1</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token comment" style="color:rgb(98, 114, 164)"># Or install it as dev-dependency in your node.js projects</span><span class="token plain"></span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token function" style="color:rgb(80, 250, 123)">npm</span><span class="token plain"> </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> @openapitools/openapi-generator-cli -D</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div><p></p><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/3_0/petstore.yaml" class="href">petstore.yaml</a> doc:</p><p></p><div class="codeBlockWrapper_2QGZ"><pre class="prism-code language-bash codeBlock_19pQ" style="color:#F8F8F2;background-color:#282A36"><div class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator-cli generate -i petstore.yaml -g ruby -o /tmp/test/</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div><p></p></div></div><div id="tryHomebrew" class="row calloutRow_5DTz"><div class="col col--3 blockImage"><img class="image" src="/img/tools/homebrew-256x256.png" alt="tryHomebrew logo"></div><div class="col col--9"><h2>Try via Homebrew</h2><p><strong>Install</strong> via <a href="https://brew.sh/" class="href">homebrew</a>:</p><p></p><div class="codeBlockWrapper_2QGZ"><pre class="prism-code language-bash codeBlock_19pQ" style="color:#F8F8F2;background-color:#282A36"><div class="token-line" style="color:#F8F8F2"><span class="token plain">brew </span><span class="token function" style="color:rgb(80, 250, 123)">install</span><span class="token plain"> openapi-generator</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div><p></p><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/3_0/petstore.yaml" class="href">petstore.yaml</a> doc:</p><p></p><div class="codeBlockWrapper_2QGZ"><pre class="prism-code language-bash codeBlock_19pQ" style="color:#F8F8F2;background-color:#282A36"><div class="token-line" style="color:#F8F8F2"><span class="token plain">openapi-generator generate -i petstore.yaml -g ruby -o /tmp/test/</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div><p></p></div></div><div id="tryDocker" class="row calloutRow_5DTz"><div class="col col--3 blockImage"><img class="image" src="/img/tools/docker.png" alt="tryDocker logo"></div><div class="col col--9"><h2>Try via Docker</h2><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/3_0/petstore.yaml">petstore.yaml</a> doc with this image, you&#x27;ll need to mount a local location as a volume.</p><p></p><div class="codeBlockWrapper_2QGZ"><pre class="prism-code language-bash codeBlock_19pQ" style="color:#F8F8F2;background-color:#282A36"><div class="token-line" style="color:#F8F8F2"><span class="token plain">docker run --rm </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"> -v </span><span class="token environment constant" style="color:rgb(189, 147, 249)">$PWD</span><span class="token plain">:/local openapitools/openapi-generator-cli generate </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"> -i /local/petstore.yaml </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"> -g go </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"> -o /local/out/go</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div><p></p><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></div></div></div></section></main><div class="announcement_SnPq announcementLight_1Duu"><div class="productShowcaseSection_1HKi announcementInner_363r"><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" class="productShowcaseSectionLogo_33kC"></a><a href="https://www.bithost.ch/"><img src="/img/companies/bithost.svg" alt="Bithost GmbH" title="Bithost GmbH" class="productShowcaseSectionLogo_33kC"></a><a href="https://www.giantmonkey.de/"><img src="/img/companies/gm.png" alt="Giant Monkey GmbH" title="Giant Monkey GmbH" class="productShowcaseSectionLogo_33kC"></a><a href="https://www.juststarinfo.com/"><img src="/img/companies/juststar.png" alt="JustStar" title="JustStar" class="productShowcaseSectionLogo_33kC"></a><a href="https://www.metaswitch.com/"><img src="/img/companies/metaswitch.svg" alt="Metaswitch" title="Metaswitch" class="productShowcaseSectionLogo_33kC"></a><a href="http://www.stingray.com/"><img src="/img/companies/stingray.png" alt="Stingray" title="Stingray" class="productShowcaseSectionLogo_33kC"></a><a href="https://dev.telstra.com/"><img src="/img/companies/telstra.svg" alt="Telstra" title="Telstra" class="productShowcaseSectionLogo_33kC"></a><a href="https://www.unblu.com/"><img src="/img/companies/unblu.svg" alt="unblu inc." title="unblu inc." class="productShowcaseSectionLogo_33kC"></a><a href="https://wso2.com/"><img src="/img/companies/wso2.png" alt="WSO2" title="WSO2" class="productShowcaseSectionLogo_33kC"></a><a href="https://www.zalando.com/"><img src="/img/companies/zalando.jpg" alt="Zalando" title="Zalando" class="productShowcaseSectionLogo_33kC"></a></div><div class="more-users"><a class="button button--outline button--primary button--lg productShowcaseSectionButton_1wof" href="/users">More OpenAPI Generator Users</a></div></div></div><div class="announcement_SnPq announcementDark_mjZd">&quot;OpenAPI Tools&quot; and &quot;OpenAPI Generator&quot; are not affiliated with OpenAPI Initiative (OAI)</div></div><footer class="footer footer--dark"><div class="container"><div class="row footer__links"><div class="col footer__col"><h4 class="footer__title">Docs</h4><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/docs/customization">Customizing Generators</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/installation">Installation</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/integrations">Workflow Integrations</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">Community</h4><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/users">User Showcase</a></li><li class="footer__item"><a class="footer__link-item" target="_blank" rel="noopener noreferrer" href="https://stackoverflow.com/questions/tagged/openapi-generator">Stack Overflow</a></li><li class="footer__item"><a class="footer__link-item" target="_blank" rel="noopener noreferrer" href="https://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM">Chat Room</a></li><li class="footer__item"><a class="footer__link-item" target="_blank" rel="noopener noreferrer" href="https://twitter.com/oas_generator">Twitter</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">More</h4><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" href="/blog">Blog</a></li><li class="footer__item"><a class="footer__link-item" target="_blank" rel="noopener noreferrer" href="https://github.com/OpenAPITools/openapi-generator">GitHub</a></li></ul></div></div><div class="text--center"><div class="margin-bottom--sm"><a href="https://openapi-generator.tech/" target="_blank" rel="noopener noreferrer" class="footerLogoLink_1Wg7"><img class="footer__logo" alt="OpenAPI Tools" src="/img/mono-logo.svg"></a></div>Copyright © 2021 OpenAPI-Generator Contributors (https://openapi-generator.tech)</div></div></footer>
</div>
<script src="/styles.376d7561.js"></script>
<script src="/runtime~main.b6330a72.js"></script>
<script src="/main.e67007e6.js"></script>
<script src="/1.e3f0ae73.js"></script>
<script src="/2.2314cd3c.js"></script>
<script src="/3.07edd713.js"></script>
<script src="/c4f5d8e4.d52db1c9.js"></script>
</body>
</html>