55 lines
28 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">FAQ: Generators</title>
<meta data-react-helmet="true" http-equiv="x-ua-compatible" content="ie=edge"><meta data-react-helmet="true" property="og:title" content="OpenAPI Generator · Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents"><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 OpenAPI Generator · Generate clients, servers, and documentation from OpenAPI 2.0/3.x documents"><meta data-react-helmet="true" name="twitter:card" content="summary"><meta data-react-helmet="true" name="description" content="### What are some server generator use cases?"><meta data-react-helmet="true" property="og:description" content="### What are some server generator use cases?"><meta data-react-helmet="true" property="og:url" content="https://openapi-generator.tech/docs/faq-generators">
<link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.png">
<link rel="stylesheet" href="/styles.ec5417b5.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"><div class="docPage_1kjD"><div class="docSidebarContainer_1cYp"><div class="sidebar_1kLs"><div class="menu menu--responsive"><button aria-label="Open Menu" class="button button--secondary button--sm menu__button" type="button"><svg class="sidebarMenuIcon_2vk4" xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewBox="0 0 32 32" 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></button><ul class="menu__list"><li class="menu__list-item"><a class="menu__link menu__link--sublist menu__link--active" href="#!">FAQ</a><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" href="/docs/faq">FAQ: General</a></li><li class="menu__list-item"><a class="menu__link" href="/docs/faq-extending">FAQ: Extending</a></li><li class="menu__list-item"><a class="menu__link" href="/docs/faq-contributing">FAQ: Contributing</a></li><li class="menu__list-item"><a aria-current="page" class="menu__link menu__link--active" href="/docs/faq-generators">FAQ: Generators</a></li></ul></li></ul></div></div></div><main class="docMainContainer_FFX1"><div class="padding-vert--lg"><div class="container"><div class="row"><div class="col"><div class="docItemContainer_2cwg"><article><header><h1 class="docTitle_1vWb">FAQ: Generators</h1></header><div class="markdown"><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="what-are-some-server-generator-use-cases"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#what-are-some-server-generator-use-cases" title="Direct link to heading">#</a>What are some server generator use cases?</h3><p>We have around 40+ server generators, with more added regularly. Some of these include Spring in your choice of Java or Kotlin, the Finch and Scalatra frameworks using Scala, and C# generators for NancyFX and WebAPI (to name only a few).</p><p>Besides generating the server code as a starting point to implement the API backend, here are some use cases of the server generators:</p><ul><li><strong>prototyping</strong> - one can generate the server code and have a functional API backend very quickly to try different things or features.</li><li><strong>mocking</strong> - easily provide an API backend for mocking based on the examples field defined in the response object.</li><li><strong>migration</strong> - let&#x27;s say one wants to migrate an API backend from Ruby on Rails to Java Spring. The server generator can save a lot of time in implementing and verify each endpoint in the new API backend.</li><li><strong>evaluating</strong> - when you want to try a new language or framework, and a typical &quot;Hello, World&quot; is too trivial.</li></ul><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="java"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#java" title="Direct link to heading">#</a>Java</h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="the-api-client-has-ssl-errors-due-to-an-invalid-certificate-is-there-a-way-to-bypass-that"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#the-api-client-has-ssl-errors-due-to-an-invalid-certificate-is-there-a-way-to-bypass-that" title="Direct link to heading">#</a>The API client has SSL errors due to an invalid certificate. Is there a way to bypass that?</h3><p>Yes, please refer to <a href="http://stackoverflow.com/a/6055903/677735">http://stackoverflow.com/a/6055903/677735</a></p><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="how-can-i-customize-the-feign-client-templates"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#how-can-i-customize-the-feign-client-templates" title="Direct link to heading">#</a>How can I customize the Feign client templates?</h3><p>You will need to provide customized files in <code>Java/libraries/feign</code> under the resources folder and pass the location via the <code>-t</code> option.</p><p>In your Gradle build script, please add the following (example):</p><pre class="mdxCodeBlock_iHAB"><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">config.templateDir </span><span class="token operator">=</span><span class="token plain"> &#x27;src/openapi-generator-templates/Java/libraries/feign</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div></pre><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="android"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#android" title="Direct link to heading">#</a>Android</h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="how-can-i-generate-an-android-sdk"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#how-can-i-generate-an-android-sdk" title="Direct link to heading">#</a>How can I generate an Android SDK?</h3><p><strong>The Java SDK is also compatible with Android.</strong></p><p>[RECOMMENDED] To generate the Java SDK with <code>okhttp</code> and <code>gson</code> libraries, run the following:</p><pre class="mdxCodeBlock_iHAB"><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">mvn clean package</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar 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 https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.json </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"> -l java --library</span><span class="token operator">=</span><span class="token plain">okhttp-gson </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"> --additional-properties </span><span class="token assign-left variable" style="color:rgb(189, 147, 249);font-style:italic">hideGenerationTimestamp</span><span class="token operator">=</span><span class="token plain">true </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 /var/tmp/java/okhttp-gson/</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div></pre><p>You can also generate the Java SDK with other HTTP libraries by replacing <code>okhttp-gson</code> with <code>retrofit</code> for example. For a list of support libraries, please run</p><pre class="mdxCodeBlock_iHAB"><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">java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar config-help -l java</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div></pre><p>To generate the Android SDK with <a href="https://github.com/mcxiaoke/android-volley"><code>volley</code></a>, please run</p><pre class="mdxCodeBlock_iHAB"><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">mvn clean package</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar 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 https://raw.githubusercontent.com/OpenAPITools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.json </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"> -l android --library</span><span class="token operator">=</span><span class="token plain">volley </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 /var/tmp/android/volley/</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div></pre><p>We do <strong>not</strong> recommend using the default HTTP library (Apache HttpClient) with <code>android</code> as it&#x27;s not actively maintained.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="c-sharp"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#c-sharp" title="Direct link to heading">#</a>C-Sharp</h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="how-do-i-fix-csc--warning-cs2002-in-xamarin"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#how-do-i-fix-csc--warning-cs2002-in-xamarin" title="Direct link to heading">#</a>How do I fix <code>CSC: warning CS2002</code> in Xamarin?</h3><p>The full warning might look like this: <code>CSC: warning CS2002: Source file &#x27;Api/FakeApi.cs&#x27; specified multiple times</code></p><p>The warning has no impact on the build process so you should be able to build the solution without issue. The warning should be addressed in the upcoming stable release of Xamarin. </p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="objective-c"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#objective-c" title="Direct link to heading">#</a>Objective-C</h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="how-do-i-run-integration-test-with-petstore-objc-api-client"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#how-do-i-run-integration-test-with-petstore-objc-api-client" title="Direct link to heading">#</a>How do I run integration test with Petstore ObjC API client?</h3><p>Here are the steps:</p><pre class="mdxCodeBlock_iHAB"><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 function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> clone https://github.com/openapitools/openapi-generator.git</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> openapi-generator/samples/client/petstore/objc/default/OpenAPIClientTests</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">mvn integration-test</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div></pre><p>Besides <code>default</code> (folder) ObjC API client, there&#x27;s also <code>core-data</code> for another ObjC API client with <a href="https://en.wikipedia.org/wiki/Core_Data">Core Data support</a>.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="swift"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#swift" title="Direct link to heading">#</a>Swift</h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="how-do-i-run-integration-test-with-petstore-swift-api-client"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#how-do-i-run-integration-test-with-petstore-swift-api-client" title="Direct link to heading">#</a>How do I run integration test with Petstore Swift API client?</h3><p>Here are the steps:</p><pre class="mdxCodeBlock_iHAB"><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 function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> clone https://github.com/openapitools/openapi-generator.git</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> openapi-generator/samples/client/petstore/swift/default/OpenAPIClientTests</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">mvn integration-test</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div></pre><p>Besides <code>default</code> (folder), there&#x27;s another folder <code>promisekit</code> for Swift API client with <a href="https://github.com/mxcl/PromiseKit">PromiseKit support</a></p><pre class="mdxCodeBlock_iHAB"><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 function" style="color:rgb(80, 250, 123)">git</span><span class="token plain"> clone https://github.com/openapitools/openapi-generator.git</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token builtin class-name" style="color:rgb(189, 147, 249)">cd</span><span class="token plain"> openapi-generator/samples/client/petstore/swift/promisekit/OpenAPIClientTests</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain">mvn integration-test</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div></pre><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="is-swift-2x-generator-still-actively-maintained"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#is-swift-2x-generator-still-actively-maintained" title="Direct link to heading">#</a>Is Swift (2.x) generator still actively maintained?</h3><p>No, please use <code>swift3</code> or <code>swift4</code> generator instead as we want to focus on Swift 3.x, 4.x.</p><h2><a aria-hidden="true" tabindex="-1" class="anchor" id="typescript"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#typescript" title="Direct link to heading">#</a>TypeScript</h2><h3><a aria-hidden="true" tabindex="-1" class="anchor" id="the-json-response-fails-to-deserialize-due-to-change-in-variable-naming-snake_case-to-camelcase-is-there-any-way-to-keep-the-original-naming"></a><a aria-hidden="true" tabindex="-1" class="hash-link" href="#the-json-response-fails-to-deserialize-due-to-change-in-variable-naming-snake_case-to-camelcase-is-there-any-way-to-keep-the-original-naming" title="Direct link to heading">#</a>The JSON response fails to deserialize due to change in variable naming (snake_case to camelCase). Is there any way to keep the original naming?</h3><p>Yes, please use the following option when generating TypeScript clients:</p><pre class="mdxCodeBlock_iHAB"><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">modelPropertyNaming</span></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"> Naming convention </span><span class="token keyword" style="color:rgb(189, 147, 249);font-style:italic">for</span><span class="token plain"> the property: </span><span class="token string" style="color:rgb(255, 121, 198)">&#x27;camelCase&#x27;</span><span class="token plain">, </span><span class="token string" style="color:rgb(255, 121, 198)">&#x27;PascalCase&#x27;</span><span class="token plain">, </span><span class="token string" style="color:rgb(255, 121, 198)">&#x27;snake_case&#x27;</span><span class="token plain"> and </span><span class="token string" style="color:rgb(255, 121, 198)">&#x27;original&#x27;</span><span class="token plain">, </span><span class="token function" style="color:rgb(80, 250, 123)">which</span><span class="token plain"> keeps the original name </span><span class="token punctuation" style="color:rgb(248, 248, 242)">(</span><span class="token plain">Default: camelCase</span><span class="token punctuation" style="color:rgb(248, 248, 242)">)</span></div></pre><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button></div></pre></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/OpenAPITools/openapi-generator/edit/master/website/../docs/faq-generators.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 40 40" style="margin-right:0.3em;vertical-align:sub"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col text--right"><em><small>Last updated on <time datetime="2021-11-20T17:25:45.000Z" class="docLastUpdatedAt_1sqk">2021-11-20</time> by <strong>Kevin Chen</strong></small></em></div></div></div><div class="margin-vert--lg"><nav class="pagination-nav"><div class="pagination-nav__item"><a class="pagination-nav__link" href="/docs/faq-contributing"><h5 class="pagination-nav__link--sublabel">Previous</h5><h4 class="pagination-nav__link--label">« FAQ: Contributing</h4></a></div><div class="pagination-nav__item pagination-nav__item--next"></div></nav></div></div></div><div class="col col--3"><div class="tableOfContents_TbNY"><ul class="contents contents__left-border"><li><a href="#what-are-some-server-generator-use-cases" class="contents__link">What are some server generator use cases?</a></li><li><a href="#java" class="contents__link">Java</a><ul><li><a href="#the-api-client-has-ssl-errors-due-to-an-invalid-certificate-is-there-a-way-to-bypass-that" class="contents__link">The API client has SSL errors due to an invalid certificate. Is there a way to bypass that?</a></li><li><a href="#how-can-i-customize-the-feign-client-templates" class="contents__link">How can I customize the Feign client templates?</a></li></ul></li><li><a href="#android" class="contents__link">Android</a><ul><li><a href="#how-can-i-generate-an-android-sdk" class="contents__link">How can I generate an Android SDK?</a></li></ul></li><li><a href="#c-sharp" class="contents__link">C-Sharp</a><ul><li><a href="#how-do-i-fix-csc--warning-cs2002-in-xamarin" class="contents__link">How do I fix <code>CSC: warning CS2002</code> in Xamarin?</a></li></ul></li><li><a href="#objective-c" class="contents__link">Objective-C</a><ul><li><a href="#how-do-i-run-integration-test-with-petstore-objc-api-client" class="contents__link">How do I run integration test with Petstore ObjC API client?</a></li></ul></li><li><a href="#swift" class="contents__link">Swift</a><ul><li><a href="#how-do-i-run-integration-test-with-petstore-swift-api-client" class="contents__link">How do I run integration test with Petstore Swift API client?</a></li><li><a href="#is-swift-2x-generator-still-actively-maintained" class="contents__link">Is Swift (2.x) generator still actively maintained?</a></li></ul></li><li><a href="#typescript" class="contents__link">TypeScript</a><ul><li><a href="#the-json-response-fails-to-deserialize-due-to-change-in-variable-naming-snake_case-to-camelcase-is-there-any-way-to-keep-the-original-naming" class="contents__link">The JSON response fails to deserialize due to change in variable naming (snake_case to camelCase). Is there any way to keep the original naming?</a></li></ul></li></ul></div></div></div></div></div></main></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.38be54b8.js"></script>
<script src="/runtime~main.f7c11631.js"></script>
<script src="/main.a437a66b.js"></script>
<script src="/1.df107477.js"></script>
<script src="/2.575ca174.js"></script>
<script src="/3.eada3617.js"></script>
<script src="/1be78505.3e977af1.js"></script>
<script src="/20ac7829.be2ad927.js"></script>
<script src="/17896441.60782a44.js"></script>
<script src="/6db4087d.6bcb5723.js"></script>
</body>
</html>