forked from loafle/openapi-generator-original
246 lines
34 KiB
HTML
246 lines
34 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Migrating from Swagger Codegen · OpenAPI Generator</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="<p>OpenAPI Generator is a fork of <code>swagger-codegen</code> between version <code>2.3.1</code> and <code>2.4.0</code>.</p>
|
||
"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Migrating from Swagger Codegen · OpenAPI Generator"/><meta property="og:type" content="website"/><meta property="og:url" content="https://openapi-generator.tech/"/><meta property="og:description" content="<p>OpenAPI Generator is a fork of <code>swagger-codegen</code> between version <code>2.3.1</code> and <code>2.4.0</code>.</p>
|
||
"/><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><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><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="siteNavGroupActive"><a href="/docs/installation" target="_self">Get Started</a></li><li class="siteNavGroupActive"><a href="/docs/generators" target="_self">Generators</a></li><li class="siteNavGroupActive"><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 class="docMainWrapper wrapper"><div class="container docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><i></i></div><h2><i>›</i><span>About</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle">Getting Started</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/installation">CLI Installation</a></li><li class="navListItem"><a class="navItem" href="/docs/plugins">Plugins</a></li><li class="navListItem"><a class="navItem" href="/docs/online">Online</a></li><li class="navListItem"><a class="navItem" href="/docs/usage">Usage</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Extending</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/templating">Using Templates</a></li><li class="navListItem"><a class="navItem" href="/docs/customization">Customization</a></li><li class="navListItem"><a class="navItem" href="/docs/debugging">Debugging</a></li><li class="navListItem"><a class="navItem" href="/docs/integrations">Workflow Integrations</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Contributing</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/contributing">Guidelines</a></li><li class="navListItem"><a class="navItem" href="/docs/code-of-conduct">Code of Conduct</a></li><li class="navListItem"><a class="navItem" href="/docs/contribute-building">Building the code</a></li><li class="navListItem"><a class="navItem" href="/docs/new-generator">Create a New Generator</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">About</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/roadmap">Roadmap</a></li><li class="navListItem navListItemActive"><a class="navItem" href="/docs/swagger-codegen-migration">Migrating from Swagger Codegen</a></li><li class="navListItem"><a class="navItem" href="/docs/fork-qna">Swagger Codegen Fork: Q&A</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Releases</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/release-summary">Release Summary</a></li><li class="navListItem"><a class="navItem" href="/docs/release-3-0-0">Release Notes: 3.0.0</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">API</h3><ul class=""><li class="navListItem"><a class="navItem" href="/docs/generators">Generators List</a></li></ul></div></div></section></div><script>
|
||
var coll = document.getElementsByClassName('collapsible');
|
||
var checkActiveCategory = true;
|
||
for (var i = 0; i < coll.length; i++) {
|
||
var links = coll[i].nextElementSibling.getElementsByTagName('*');
|
||
if (checkActiveCategory){
|
||
for (var j = 0; j < links.length; j++) {
|
||
if (links[j].classList.contains('navListItemActive')){
|
||
coll[i].nextElementSibling.classList.toggle('hide');
|
||
coll[i].childNodes[1].classList.toggle('rotate');
|
||
checkActiveCategory = false;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
coll[i].addEventListener('click', function() {
|
||
var arrow = this.childNodes[1];
|
||
arrow.classList.toggle('rotate');
|
||
var content = this.nextElementSibling;
|
||
content.classList.toggle('hide');
|
||
});
|
||
}
|
||
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
createToggler('#navToggler', '#docsNav', 'docsSliderActive');
|
||
createToggler('#tocToggler', 'body', 'tocActive');
|
||
|
||
const headings = document.querySelector('.toc-headings');
|
||
headings && headings.addEventListener('click', function(event) {
|
||
if (event.target.tagName === 'A') {
|
||
document.body.classList.remove('tocActive');
|
||
}
|
||
}, false);
|
||
|
||
function createToggler(togglerSelector, targetSelector, className) {
|
||
var toggler = document.querySelector(togglerSelector);
|
||
var target = document.querySelector(targetSelector);
|
||
|
||
if (!toggler) {
|
||
return;
|
||
}
|
||
|
||
toggler.onclick = function(event) {
|
||
event.preventDefault();
|
||
|
||
target.classList.toggle(className);
|
||
};
|
||
}
|
||
});
|
||
</script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1 class="postHeaderTitle">Migrating from Swagger Codegen</h1></header><article><div><span><p>OpenAPI Generator is a fork of <code>swagger-codegen</code> between version <code>2.3.1</code> and <code>2.4.0</code>.
|
||
This community-driven version called "OpenAPI Generator" provides similar functionalities and can be used as drop-in replacement.
|
||
This guide explains the major differences in order to help you with the migration.</p>
|
||
<p><strong>Table of contents</strong></p>
|
||
<ul>
|
||
<li><a href="#new-docker-images">New docker images</a></li>
|
||
<li><a href="#new-maven-coordinates">New maven coordinates</a></li>
|
||
<li><a href="#changes-in-maven-plugin">Changes in Maven Plugin</a></li>
|
||
<li><a href="#new-generators-names">New generators names</a></li>
|
||
<li><a href="#new-parameters-name">New parameters name</a></li>
|
||
<li><a href="#renamed-mustache-template-variables">Renamed Mustache Template Variables</a></li>
|
||
<li><a href="#ignore-file">Ignore file</a></li>
|
||
<li><a href="#metadata-folder">metadata-folder</a></li>
|
||
<li><a href="#new-default-values-for-the-generated-code">New default values for the generated code</a></li>
|
||
<li><a href="#new-fully-qualified-name-for-the-classes">New fully qualified name for the classes</a></li>
|
||
<li><a href="#body-parameter-name">Body parameter name</a></li>
|
||
<li><a href="#default-basepath">Default basePath</a></li>
|
||
</ul>
|
||
<h2><a class="anchor" aria-hidden="true" id="new-docker-images"></a><a href="#new-docker-images" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>New docker images</h2>
|
||
<p>The docker images are available on DockerHub: <a href="https://hub.docker.com/u/openapitools/">https://hub.docker.com/u/openapitools/</a></p>
|
||
<p><strong>CLI for OpenAPI Generator</strong></p>
|
||
<p>Image to run OpenAPI Generator in the command line (see <a href="https://github.com/OpenAPITools/openapi-generator/blob/master/README.md#openapi-generator-cli-docker-image">OpenAPI Generator CLI Docker Image</a>)</p>
|
||
<p>Old: <code>swaggerapi/swagger-codegen-cli</code></p>
|
||
<p>New: <code>openapitools/openapi-generator-cli</code></p>
|
||
<p><strong>OpenAPI Generator as web service</strong></p>
|
||
<p>Image to run OpenAPI Generator as a web service (see <a href="https://github.com/OpenAPITools/openapi-generator/blob/master/README.md#openapi-generator-online-docker-image">OpenAPI Generator Online Docker Image</a>)</p>
|
||
<p>Old: <code>swaggerapi/swagger-generator</code></p>
|
||
<p>New: <code>openapitools/openapi-generator-online</code></p>
|
||
<h2><a class="anchor" aria-hidden="true" id="new-maven-coordinates"></a><a href="#new-maven-coordinates" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>New maven coordinates</h2>
|
||
<p>You can find our released artefact on maven central:</p>
|
||
<p><strong>Core:</strong></p>
|
||
<p>Old:</p>
|
||
<pre><code class="hljs css language-xml"><span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>io.swagger<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>swagger-codegen<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
|
||
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
|
||
</code></pre>
|
||
<p>New:</p>
|
||
<pre><code class="hljs css language-xml"><span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.openapitools<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>openapi-generator<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
|
||
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
|
||
</code></pre>
|
||
<p><strong>Cli:</strong></p>
|
||
<pre><code class="hljs css language-xml"><span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>io.swagger<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>swagger-codegen-cli<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
|
||
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
|
||
</code></pre>
|
||
<p>New:</p>
|
||
<pre><code class="hljs css language-xml"><span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.openapitools<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>openapi-generator-cli<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
|
||
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
|
||
</code></pre>
|
||
<p><strong>Maven plugin:</strong></p>
|
||
<pre><code class="hljs css language-xml"><span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>io.swagger<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>swagger-codegen-maven-plugin<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
|
||
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
|
||
</code></pre>
|
||
<p>New:</p>
|
||
<pre><code class="hljs css language-xml"><span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.openapitools<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
|
||
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>openapi-generator-maven-plugin<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
|
||
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
|
||
</code></pre>
|
||
<h2><a class="anchor" aria-hidden="true" id="changes-in-maven-plugin"></a><a href="#changes-in-maven-plugin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Changes in Maven Plugin</h2>
|
||
<p>OpenAPI Generator 3.0.0 has introduced <code><generatorName></code> and deprecated <code><language></code>, because this refers to generator names which embed more than just "language".</p>
|
||
<p>If both options are present, you'll be presented with an error. If only <code><language></code> is provided, you'll be presented instructions for updating to the new config.</p>
|
||
<h2><a class="anchor" aria-hidden="true" id="new-generators-names"></a><a href="#new-generators-names" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>New generators names</h2>
|
||
<p>When you run OpenAPI Generator, you need to select a target generator (<code>-g</code> option in the cli).
|
||
All languages of <code>swagger-codegen</code> have been migrated to <code>openapi-generator</code>, but some names were changed, in order to be more consistent.</p>
|
||
<table>
|
||
<thead>
|
||
<tr><th>name in <code>swagger-codegen</code></th><th>name in <code>openapi-generator</code></th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td><code>akka-scala</code></td><td><code>scala-akka</code></td></tr>
|
||
<tr><td><code>scala</code></td><td><code>scala-httpclient</code></td></tr>
|
||
<tr><td><code>jaxrs</code></td><td><code>jaxrs-jersey</code></td></tr>
|
||
<tr><td><code>qt5cpp</code></td><td><code>cpp-qt5</code></td></tr>
|
||
<tr><td><code>cpprest</code></td><td><code>cpp-restsdk</code></td></tr>
|
||
<tr><td><code>tizen</code></td><td><code>cpp-tizen</code></td></tr>
|
||
<tr><td><code>sinatra</code></td><td><code>ruby-sinatra</code></td></tr>
|
||
<tr><td><code>swift</code></td><td><code>swift2-deprecated</code></td></tr>
|
||
<tr><td><code>lumen</code></td><td><code>php-lumen</code></td></tr>
|
||
<tr><td><code>slim</code></td><td><code>php-slim</code></td></tr>
|
||
<tr><td><code>ze-ph</code></td><td><code>php-ze-ph</code></td></tr>
|
||
<tr><td><code>nancyfx</code></td><td><code>csharp-nancyfx</code></td></tr>
|
||
</tbody>
|
||
</table>
|
||
<p>We provide a temporary mapping in code for these old values. You'll receive a warning with instructions to migrate to the new names.</p>
|
||
<h2><a class="anchor" aria-hidden="true" id="new-parameters-name"></a><a href="#new-parameters-name" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>New parameters name</h2>
|
||
<p>Some parameters were renamed.
|
||
Often you need to replace "Swagger", with "OpenAPI".
|
||
Some examples:</p>
|
||
<table>
|
||
<thead>
|
||
<tr><th>name in <code>swagger-codegen</code></th><th>name in <code>openapi-generator</code></th></tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr><td><code>debugSwagger</code></td><td><code>debugOpenAPI</code></td></tr>
|
||
<tr><td><code>GenerateSwaggerMetadata</code></td><td><code>GenerateOpenAPIMetadata</code></td></tr>
|
||
<tr><td><code>swagger.codegen.undertow.apipackage</code></td><td><code>openapi.codegen.undertow.apipackage</code></td></tr>
|
||
<tr><td><code>swagger.codegen.undertow.modelpackage</code></td><td><code>openapi.codegen.undertow.modelpackage</code></td></tr>
|
||
</tbody>
|
||
</table>
|
||
<h2><a class="anchor" aria-hidden="true" id="renamed-mustache-template-variables"></a><a href="#renamed-mustache-template-variables" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Renamed Mustache Template Variables</h2>
|
||
<p>The template variable <code>{{datatype}}</code> was renamed to <code>{{dataType}}</code> for consistency reason.
|
||
Corresponding java code: <code>CodegenProperty.datatype</code> is renamed to <code>CodegenProperty.dataType</code>.</p>
|
||
<p>(If you're <strong>not</strong> using customized templates with the <code>-t</code> option, you can ignore the mustache variable renaming above.)</p>
|
||
<h2><a class="anchor" aria-hidden="true" id="ignore-file"></a><a href="#ignore-file" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Ignore file</h2>
|
||
<p><code>.swagger-codegen-ignore</code> is replaced by <code>.openapi-generator-ignore</code>.
|
||
The syntax inside the file stays the same.</p>
|
||
<p>You don't need to rename the file manually, OpenAPI Generator will do it when your run it against an existing output directory.
|
||
(When there is no <code>.openapi-generator-ignore</code> in a folder, if a <code>.swagger-codegen-ignore</code> file is present it will be considered and renamed to <code>.openapi-generator-ignore</code>).</p>
|
||
<h2><a class="anchor" aria-hidden="true" id="metadata-folder"></a><a href="#metadata-folder" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Metadata folder</h2>
|
||
<p>The metatata folder (to store the <code>VERSION</code> file for example) is now called <code>.openapi-generator/</code> instead of <code>.swagger-codegen/</code>.</p>
|
||
<h2><a class="anchor" aria-hidden="true" id="new-default-values-for-the-generated-code"></a><a href="#new-default-values-for-the-generated-code" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>New default values for the generated code</h2>
|
||
<p>If you use a generator without specifying each parameter, you might see some differences in the generated code.
|
||
As example the default package name used in the generated code has changed.
|
||
You need to have a look at the specific value, depending of your target language, but often <code>Swagger</code> îs replaced by <code>OpenAPITools</code> and <code>io.swagger</code> is replaced by <code>org.openapitools</code>.
|
||
Concretely if you did not specify anything when you are generating java code, a file <code>org/openapitools/api/PetApi.java</code> might be generated instead of <code>io/swagger/api/PetApi.java</code>.</p>
|
||
<p>If this is a problem for you, you need to explicitly set the the parameter value in order to match with the <code>swagger-codgen</code> default value (<code>apiPackage</code> == <code>io.swagger</code> in the previous example with the java generator).</p>
|
||
<h2><a class="anchor" aria-hidden="true" id="new-fully-qualified-name-for-the-classes"></a><a href="#new-fully-qualified-name-for-the-classes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>New fully qualified name for the classes</h2>
|
||
<p>If you have extended some generators in your project, and you are looking for a specific class, replace the <code>io.swagger.codegen</code> package (old name) with <code>org.openapitools.codegen</code> package (new name).</p>
|
||
<p>Example: <code>org.openapitools.codegen.DefaultGenerator</code></p>
|
||
<h2><a class="anchor" aria-hidden="true" id="body-parameter-name"></a><a href="#body-parameter-name" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Body parameter name</h2>
|
||
<p>:bangbang: Since 4.0.0-beta, the body parameter name in OAS v2 is automatically preserved in the vendor extension <code>x-codegen-request-body-name</code></p>
|
||
<p>In OpenAPI spec v3, there's no body parameter, which is replaced by <a href="https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#request-body-object">Request Body Object</a>. The parameter name for Request Body is named automatically based on the model name (e.g. User). To control how the "Request Body" parameter is named, please add the vendor extension <code>x-codegen-request-body-name</code> to the operation:</p>
|
||
<p>OpenAPI Spec v3:</p>
|
||
<pre><code class="hljs css language-yaml"><span class="hljs-attr">paths:</span>
|
||
<span class="hljs-string">/pet:</span>
|
||
<span class="hljs-attr"> post:</span>
|
||
<span class="hljs-attr"> tags:</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">pet</span>
|
||
<span class="hljs-attr"> summary:</span> <span class="hljs-string">Add</span> <span class="hljs-string">a</span> <span class="hljs-string">new</span> <span class="hljs-string">pet</span> <span class="hljs-string">to</span> <span class="hljs-string">the</span> <span class="hljs-string">store</span>
|
||
<span class="hljs-attr"> description:</span> <span class="hljs-string">''</span>
|
||
<span class="hljs-attr"> operationId:</span> <span class="hljs-string">addPet</span>
|
||
<span class="hljs-attr"> x-codegen-request-body-name:</span> <span class="hljs-string">new_body_name</span>
|
||
<span class="hljs-attr"> responses:</span>
|
||
<span class="hljs-string">'405'</span><span class="hljs-string">:</span>
|
||
<span class="hljs-attr"> description:</span> <span class="hljs-string">Invalid</span> <span class="hljs-string">input</span>
|
||
<span class="hljs-attr"> security:</span>
|
||
<span class="hljs-attr"> - petstore_auth:</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">'write:pets'</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">'read:pets'</span>
|
||
<span class="hljs-attr"> requestBody:</span>
|
||
<span class="hljs-string">$ref:</span> <span class="hljs-string">'#/components/requestBodies/Pet'</span>
|
||
</code></pre>
|
||
<p>OpenAPI Spec v2:</p>
|
||
<pre><code class="hljs css language-yaml"><span class="hljs-attr">paths:</span>
|
||
<span class="hljs-string">/pet:</span>
|
||
<span class="hljs-attr"> post:</span>
|
||
<span class="hljs-attr"> tags:</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">pet</span>
|
||
<span class="hljs-attr"> summary:</span> <span class="hljs-string">Add</span> <span class="hljs-string">a</span> <span class="hljs-string">new</span> <span class="hljs-string">pet</span> <span class="hljs-string">to</span> <span class="hljs-string">the</span> <span class="hljs-string">store</span>
|
||
<span class="hljs-attr"> description:</span> <span class="hljs-string">''</span>
|
||
<span class="hljs-attr"> operationId:</span> <span class="hljs-string">addPet</span>
|
||
<span class="hljs-attr"> x-codegen-request-body-name:</span> <span class="hljs-string">new_body_name</span>
|
||
<span class="hljs-attr"> consumes:</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">application/json</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">application/xml</span>
|
||
<span class="hljs-attr"> produces:</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">application/xml</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">application/json</span>
|
||
<span class="hljs-attr"> parameters:</span>
|
||
<span class="hljs-attr"> - in:</span> <span class="hljs-string">body</span>
|
||
<span class="hljs-attr"> name:</span> <span class="hljs-string">body</span>
|
||
<span class="hljs-attr"> description:</span> <span class="hljs-string">Pet</span> <span class="hljs-string">object</span> <span class="hljs-string">that</span> <span class="hljs-string">needs</span> <span class="hljs-string">to</span> <span class="hljs-string">be</span> <span class="hljs-string">added</span> <span class="hljs-string">to</span> <span class="hljs-string">the</span> <span class="hljs-string">store</span>
|
||
<span class="hljs-attr"> required:</span> <span class="hljs-literal">true</span>
|
||
<span class="hljs-attr"> schema:</span>
|
||
<span class="hljs-string">$ref:</span> <span class="hljs-string">'#/definitions/Pet'</span>
|
||
<span class="hljs-attr"> responses:</span>
|
||
<span class="hljs-string">'405'</span><span class="hljs-string">:</span>
|
||
<span class="hljs-attr"> description:</span> <span class="hljs-string">Invalid</span> <span class="hljs-string">input</span>
|
||
<span class="hljs-attr"> security:</span>
|
||
<span class="hljs-attr"> - petstore_auth:</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">'write:pets'</span>
|
||
<span class="hljs-bullet"> -</span> <span class="hljs-string">'read:pets'</span>
|
||
</code></pre>
|
||
<p>If your API client is using named parameters in the function call (e.g. Perl required & optional parameters, Ruby optional parameters), you will need to add <code>x-codegen-request-body-name</code> to the spec to restore the original body parameter name.</p>
|
||
<h2><a class="anchor" aria-hidden="true" id="default-basepath"></a><a href="#default-basepath" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Default basePath</h2>
|
||
<p>The default <code>basePath</code> has been changed from <code>https://localhost</code> to <code>http://locallhost</code> (http without s)</p>
|
||
</span></div></article></div><div class="docLastUpdate"><em>Last updated on 2019-3-14</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/roadmap"><span class="arrow-prev">← </span><span>Roadmap</span></a><a class="docs-next button" href="/docs/fork-qna"><span>Swagger Codegen Fork: Q&A</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#new-docker-images">New docker images</a></li><li><a href="#new-maven-coordinates">New maven coordinates</a></li><li><a href="#changes-in-maven-plugin">Changes in Maven Plugin</a></li><li><a href="#new-generators-names">New generators names</a></li><li><a href="#new-parameters-name">New parameters name</a></li><li><a href="#renamed-mustache-template-variables">Renamed Mustache Template Variables</a></li><li><a href="#ignore-file">Ignore file</a></li><li><a href="#metadata-folder">Metadata folder</a></li><li><a href="#new-default-values-for-the-generated-code">New default values for the generated code</a></li><li><a href="#new-fully-qualified-name-for-the-classes">New fully qualified name for the classes</a></li><li><a href="#body-parameter-name">Body parameter name</a></li><li><a href="#default-basepath">Default basePath</a></li></ul></nav></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/en/customization.html">Customizing Generators</a><a href="/docs/en/integrations.html">Workflow Integrations</a></div><div><h5>Community</h5><a href="/en/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://gitter.im/OpenAPITools/openapi-generator">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 © 2019 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> |