mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-12 20:50:55 +00:00
27 lines
38 KiB
HTML
27 lines
38 KiB
HTML
<!doctype html>
|
||
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-current plugin-docs plugin-id-default docs-doc-id-faq-generators">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="generator" content="Docusaurus v2.3.1">
|
||
<title data-rh="true">FAQ: Generators | OpenAPI Generator</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://openapi-generator.tech/img/docusaurus.png"><meta data-rh="true" name="twitter:image" content="https://openapi-generator.tech/img/docusaurus.png"><meta data-rh="true" property="og:url" content="https://openapi-generator.tech/docs/faq-generators"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="FAQ: Generators | OpenAPI Generator"><meta data-rh="true" name="description" content="What are some server generator use cases?"><meta data-rh="true" property="og:description" content="What are some server generator use cases?"><link data-rh="true" rel="icon" href="/img/favicon.png"><link data-rh="true" rel="canonical" href="https://openapi-generator.tech/docs/faq-generators"><link data-rh="true" rel="alternate" href="https://openapi-generator.tech/docs/faq-generators" hreflang="en"><link data-rh="true" rel="alternate" href="https://openapi-generator.tech/docs/faq-generators" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://51ITDG8FYN-dsn.algolia.net" crossorigin="anonymous"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="OpenAPI Generator RSS Feed">
|
||
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="OpenAPI Generator Atom Feed">
|
||
|
||
<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="search" type="application/opensearchdescription+xml" title="OpenAPI Generator" href="/opensearch.xml">
|
||
<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><link rel="stylesheet" href="/assets/css/styles.fcd3a3ce.css">
|
||
<link rel="preload" href="/assets/js/runtime~main.90490b2f.js" as="script">
|
||
<link rel="preload" href="/assets/js/main.324bcbba.js" as="script">
|
||
</head>
|
||
<body class="navigation-with-keyboard">
|
||
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
|
||
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/mono-logo.svg" alt="OpenAPI Tools logo" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/mono-logo.svg" alt="OpenAPI Tools logo" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">OpenAPI Generator</b></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 href="https://api.openapi-generator.tech" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">API</a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" href="/docs/faq">FAQ</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/faq">FAQ: General</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/faq-extending">FAQ: Extending</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/docs/faq-contributing">FAQ: Contributing</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/docs/faq-generators">FAQ: Generators</a></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">FAQ</span><meta itemprop="position" content="1"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">FAQ: Generators</span><meta itemprop="position" content="2"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>FAQ: Generators</h1></header><h3 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-some-server-generator-use-cases">What are some server generator use cases?<a href="#what-are-some-server-generator-use-cases" class="hash-link" aria-label="Direct link to What are some server generator use cases?" title="Direct link to What are some server generator use cases?"></a></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 ASP.NET and Azure Functions (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'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 "Hello, World" is too trivial.</li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="java">Java<a href="#java" class="hash-link" aria-label="Direct link to Java" title="Direct link to Java"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="the-api-client-has-ssl-errors-due-to-an-invalid-certificate-is-there-a-way-to-bypass-that">The API client has SSL errors due to an invalid certificate. Is there a way to bypass that?<a href="#the-api-client-has-ssl-errors-due-to-an-invalid-certificate-is-there-a-way-to-bypass-that" class="hash-link" aria-label="Direct link to The API client has SSL errors due to an invalid certificate. Is there a way to bypass that?" title="Direct link to The API client has SSL errors due to an invalid certificate. Is there a way to bypass that?"></a></h3><p>Yes, please refer to <a href="http://stackoverflow.com/a/6055903/677735" target="_blank" rel="noopener noreferrer">http://stackoverflow.com/a/6055903/677735</a></p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="how-can-i-customize-the-feign-client-templates">How can I customize the Feign client templates?<a href="#how-can-i-customize-the-feign-client-templates" class="hash-link" aria-label="Direct link to How can I customize the Feign client templates?" title="Direct link to How can I customize the Feign client templates?"></a></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><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">config.templateDir </span><span class="token operator">=</span><span class="token plain"> 'src/openapi-generator-templates/Java/libraries/feign</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="android">Android<a href="#android" class="hash-link" aria-label="Direct link to Android" title="Direct link to Android"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="how-can-i-generate-an-android-sdk">How can I generate an Android SDK?<a href="#how-can-i-generate-an-android-sdk" class="hash-link" aria-label="Direct link to How can I generate an Android SDK?" title="Direct link to How can I generate an Android SDK?"></a></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><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">mvn clean package</span><br></span><span 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><br></span><span 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><br></span><span 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><br></span><span 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><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -o /var/tmp/java/okhttp-gson/ </span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><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><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span 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><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>To generate the Android SDK with <a href="https://github.com/mcxiaoke/android-volley" target="_blank" rel="noopener noreferrer"><code>volley</code></a>, please run</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">mvn clean package</span><br></span><span 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><br></span><span 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><br></span><span 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><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -o /var/tmp/android/volley/ </span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>We do <strong>not</strong> recommend using the default HTTP library (Apache HttpClient) with <code>android</code> as it's not actively maintained.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="c-sharp">C-Sharp<a href="#c-sharp" class="hash-link" aria-label="Direct link to C-Sharp" title="Direct link to C-Sharp"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-fix-csc--warning-cs2002-in-xamarin">How do I fix <code>CSC: warning CS2002</code> in Xamarin?<a href="#how-do-i-fix-csc--warning-cs2002-in-xamarin" class="hash-link" aria-label="Direct link to how-do-i-fix-csc--warning-cs2002-in-xamarin" title="Direct link to how-do-i-fix-csc--warning-cs2002-in-xamarin"></a></h3><p>The full warning might look like this: <code>CSC: warning CS2002: Source file 'Api/FakeApi.cs' 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 class="anchor anchorWithStickyNavbar_LWe7" id="objective-c">Objective-C<a href="#objective-c" class="hash-link" aria-label="Direct link to Objective-C" title="Direct link to Objective-C"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-run-integration-test-with-petstore-objc-api-client">How do I run integration test with Petstore ObjC API client?<a href="#how-do-i-run-integration-test-with-petstore-objc-api-client" class="hash-link" aria-label="Direct link to How do I run integration test with Petstore ObjC API client?" title="Direct link to How do I run integration test with Petstore ObjC API client?"></a></h3><p>Here are the steps:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span 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><br></span><span 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><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">mvn integration-test</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Besides <code>default</code> (folder) ObjC API client, there's also <code>core-data</code> for another ObjC API client with <a href="https://en.wikipedia.org/wiki/Core_Data" target="_blank" rel="noopener noreferrer">Core Data support</a>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="swift">Swift<a href="#swift" class="hash-link" aria-label="Direct link to Swift" title="Direct link to Swift"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="how-do-i-run-integration-test-with-petstore-swift-api-client">How do I run integration test with Petstore Swift API client?<a href="#how-do-i-run-integration-test-with-petstore-swift-api-client" class="hash-link" aria-label="Direct link to How do I run integration test with Petstore Swift API client?" title="Direct link to How do I run integration test with Petstore Swift API client?"></a></h3><p>Here are the steps:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span 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><br></span><span 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><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">mvn integration-test</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><p>Besides <code>default</code> (folder), there's another folder <code>promisekit</code> for Swift API client with <a href="https://github.com/mxcl/PromiseKit" target="_blank" rel="noopener noreferrer">PromiseKit support</a></p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span 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><br></span><span 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><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">mvn integration-test</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="is-swift-2x-generator-still-actively-maintained">Is Swift (2.x) generator still actively maintained?<a href="#is-swift-2x-generator-still-actively-maintained" class="hash-link" aria-label="Direct link to Is Swift (2.x) generator still actively maintained?" title="Direct link to Is Swift (2.x) generator still actively maintained?"></a></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 class="anchor anchorWithStickyNavbar_LWe7" id="typescript">TypeScript<a href="#typescript" class="hash-link" aria-label="Direct link to TypeScript" title="Direct link to TypeScript"></a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" 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">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 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="hash-link" aria-label="Direct link to 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 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></h3><p>Yes, please use the following option when generating TypeScript clients:</p><div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain"> modelPropertyNaming</span><br></span><span 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)">'camelCase'</span><span class="token plain">, </span><span class="token string" style="color:rgb(255, 121, 198)">'PascalCase'</span><span class="token plain">, </span><span class="token string" style="color:rgb(255, 121, 198)">'snake_case'</span><span class="token plain"> and </span><span class="token string" style="color:rgb(255, 121, 198)">'original'</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><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg class="copyButtonIcon_y97N" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg class="copyButtonSuccessIcon_LjdS" viewBox="0 0 24 24"><path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/OpenAPITools/openapi-generator/edit/master/website/../docs/faq-generators.md" target="_blank" rel="noreferrer noopener" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><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 lastUpdated_vwxv"><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2023-12-05T10:01:25.000Z">Dec 5, 2023</time></b> by <b>Viktor Szépe</b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages navigation"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/faq-contributing"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">FAQ: Contributing</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#what-are-some-server-generator-use-cases" class="table-of-contents__link toc-highlight">What are some server generator use cases?</a></li><li><a href="#java" class="table-of-contents__link toc-highlight">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="table-of-contents__link toc-highlight">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="table-of-contents__link toc-highlight">How can I customize the Feign client templates?</a></li></ul></li><li><a href="#android" class="table-of-contents__link toc-highlight">Android</a><ul><li><a href="#how-can-i-generate-an-android-sdk" class="table-of-contents__link toc-highlight">How can I generate an Android SDK?</a></li></ul></li><li><a href="#c-sharp" class="table-of-contents__link toc-highlight">C-Sharp</a><ul><li><a href="#how-do-i-fix-csc--warning-cs2002-in-xamarin" class="table-of-contents__link toc-highlight">How do I fix <code>CSC: warning CS2002</code> in Xamarin?</a></li></ul></li><li><a href="#objective-c" class="table-of-contents__link toc-highlight">Objective-C</a><ul><li><a href="#how-do-i-run-integration-test-with-petstore-objc-api-client" class="table-of-contents__link toc-highlight">How do I run integration test with Petstore ObjC API client?</a></li></ul></li><li><a href="#swift" class="table-of-contents__link toc-highlight">Swift</a><ul><li><a href="#how-do-i-run-integration-test-with-petstore-swift-api-client" class="table-of-contents__link toc-highlight">How do I run integration test with Petstore Swift API client?</a></li><li><a href="#is-swift-2x-generator-still-actively-maintained" class="table-of-contents__link toc-highlight">Is Swift (2.x) generator still actively maintained?</a></li></ul></li><li><a href="#typescript" class="table-of-contents__link toc-highlight">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="table-of-contents__link toc-highlight">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></main></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><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"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/users">User Showcase</a></li><li class="footer__item"><a href="https://stackoverflow.com/questions/tagged/openapi-generator" target="_blank" rel="noopener noreferrer" class="footer__link-item">Stack Overflow<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://join.slack.com/t/openapi-generator/shared_invite/zt-12jxxd7p2-XUeQM~4pzsU9x~eGLQqX2g" target="_blank" rel="noopener noreferrer" class="footer__link-item">Chat Room<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://twitter.com/oas_generator" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/blog">Blog</a></li><li class="footer__item"><a href="https://github.com/OpenAPITools/openapi-generator" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://openapi-generator.tech/" rel="noopener noreferrer" class="footerLogoLink_BH7S"><img src="/img/mono-logo.svg" alt="OpenAPI Tools" class="themedImage_ToTc themedImage--light_HNdA footer__logo"><img src="/img/mono-logo.svg" alt="OpenAPI Tools" class="themedImage_ToTc themedImage--dark_i4oU footer__logo"></a></div><div class="footer__copyright">Copyright © 2024 OpenAPI-Generator Contributors (https://openapi-generator.tech)</div></div></div></footer></div>
|
||
<script src="/assets/js/runtime~main.90490b2f.js"></script>
|
||
<script src="/assets/js/main.324bcbba.js"></script>
|
||
</body>
|
||
</html> |