Deploy website

Deploy website version based on cf29908ff2909e3c8a880a7a3f584db664354e7c
This commit is contained in:
wing328 2019-10-31 19:32:49 +00:00
parent 110532864b
commit 327d1cf9d6
14 changed files with 366 additions and 366 deletions

View File

@ -280,7 +280,7 @@ To change, for example, the prefix for the Objective-C generated files, simply s
}
</code></pre>
<p>and specify the <code>classname</code> when running the generator:</p>
<pre><code class="hljs">-g com<span class="hljs-selector-class">.mycompany</span><span class="hljs-selector-class">.openapitools</span><span class="hljs-selector-class">.codegen</span><span class="hljs-selector-class">.MyObjcCodegen</span>
<pre><code class="hljs"><span class="hljs-selector-tag">-g</span> <span class="hljs-selector-tag">com</span><span class="hljs-selector-class">.mycompany</span><span class="hljs-selector-class">.openapitools</span><span class="hljs-selector-class">.codegen</span><span class="hljs-selector-class">.MyObjcCodegen</span>
</code></pre>
<p>Your subclass will now be loaded and overrides the <code>PREFIX</code> value in the superclass.</p>
<h2><a class="anchor" aria-hidden="true" id="bringing-your-own-models"></a><a href="#bringing-your-own-models" 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>Bringing your own models</h2>
@ -288,12 +288,12 @@ To change, for example, the prefix for the Objective-C generated files, simply s
the codegen what <em>not</em> to create. When doing this, every location that references a specific model will
refer back to your classes. Note, this may not apply to all languages...</p>
<p>To specify an import mapping, use the <code>--import-mappings</code> argument and specify the model-to-import logic as such:</p>
<pre><code class="hljs">--import-mappings Pet=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyPet</span>
<pre><code class="hljs">--<span class="hljs-built_in">import</span>-mappings <span class="hljs-attr">Pet=my.models.MyPet</span>
</code></pre>
<p>Or for multiple mappings:</p>
<pre><code class="hljs">--import-mappings Pet=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyPet</span>,Order=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyOrder</span>
</code></pre>
<p>or</p>
<pre><code class="hljs">--import-mappings Pet=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyPet</span> --import-mappings Order=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyOrder</span>
<pre><code class="hljs">--<span class="hljs-built_in">import</span>-mappings <span class="hljs-attr">Pet=my.models.MyPet</span> --<span class="hljs-built_in">import</span>-mappings <span class="hljs-attr">Order=my.models.MyOrder</span>
</code></pre>
</span></div></article></div><div class="docLastUpdate"><em>Last updated on 2019-10-23</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/templating"><span class="arrow-prev"></span><span>Using Templates</span></a><a class="docs-next button" href="/docs/debugging"><span>Debugging</span><span class="arrow-next"></span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#custom-generator-and-template">Custom Generator (and Template)</a><ul class="toc-headings"><li><a href="#use-your-new-generator-with-the-cli">Use your new generator with the CLI</a></li><li><a href="#use-your-new-generator-with-the-maven-plugin">Use your new generator with the maven plugin</a></li></ul></li><li><a href="#selective-generation">Selective generation</a></li><li><a href="#ignore-file-format">Ignore file format</a></li><li><a href="#customizing-the-generator">Customizing the generator</a></li><li><a href="#bringing-your-own-models">Bringing your own models</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://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM">Chat Room</a><a href="https://twitter.com/oas_generator" target="_blank" rel="noreferrer noopener">Twitter</a></div><div><h5>More</h5><a href="/blog">Blog</a><a href="https://github.com/OpenAPITools/openapi-generator">GitHub Repo</a><a class="github-button" href="https://github.com/OpenAPITools/openapi-generator" data-icon="octicon-star" data-count-href="/OpenAPITools/openapi-generator/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2019 OpenAPI-Generator Contributors (https://openapi-generator.tech). (Both &quot;OpenAPI Tools&quot; (https://OpenAPITools.org) and &quot;OpenAPI Generator&quot; are not affiliated with OpenAPI Initiative (OAI))</section></footer></div></body></html>

View File

@ -280,7 +280,7 @@ To change, for example, the prefix for the Objective-C generated files, simply s
}
</code></pre>
<p>and specify the <code>classname</code> when running the generator:</p>
<pre><code class="hljs">-g com<span class="hljs-selector-class">.mycompany</span><span class="hljs-selector-class">.openapitools</span><span class="hljs-selector-class">.codegen</span><span class="hljs-selector-class">.MyObjcCodegen</span>
<pre><code class="hljs"><span class="hljs-selector-tag">-g</span> <span class="hljs-selector-tag">com</span><span class="hljs-selector-class">.mycompany</span><span class="hljs-selector-class">.openapitools</span><span class="hljs-selector-class">.codegen</span><span class="hljs-selector-class">.MyObjcCodegen</span>
</code></pre>
<p>Your subclass will now be loaded and overrides the <code>PREFIX</code> value in the superclass.</p>
<h2><a class="anchor" aria-hidden="true" id="bringing-your-own-models"></a><a href="#bringing-your-own-models" 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>Bringing your own models</h2>
@ -288,12 +288,12 @@ To change, for example, the prefix for the Objective-C generated files, simply s
the codegen what <em>not</em> to create. When doing this, every location that references a specific model will
refer back to your classes. Note, this may not apply to all languages...</p>
<p>To specify an import mapping, use the <code>--import-mappings</code> argument and specify the model-to-import logic as such:</p>
<pre><code class="hljs">--import-mappings Pet=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyPet</span>
<pre><code class="hljs">--<span class="hljs-built_in">import</span>-mappings <span class="hljs-attr">Pet=my.models.MyPet</span>
</code></pre>
<p>Or for multiple mappings:</p>
<pre><code class="hljs">--import-mappings Pet=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyPet</span>,Order=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyOrder</span>
</code></pre>
<p>or</p>
<pre><code class="hljs">--import-mappings Pet=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyPet</span> --import-mappings Order=my<span class="hljs-selector-class">.models</span><span class="hljs-selector-class">.MyOrder</span>
<pre><code class="hljs">--<span class="hljs-built_in">import</span>-mappings <span class="hljs-attr">Pet=my.models.MyPet</span> --<span class="hljs-built_in">import</span>-mappings <span class="hljs-attr">Order=my.models.MyOrder</span>
</code></pre>
</span></div></article></div><div class="docLastUpdate"><em>Last updated on 2019-10-23</em></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/templating"><span class="arrow-prev"></span><span>Using Templates</span></a><a class="docs-next button" href="/docs/debugging"><span>Debugging</span><span class="arrow-next"></span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#custom-generator-and-template">Custom Generator (and Template)</a><ul class="toc-headings"><li><a href="#use-your-new-generator-with-the-cli">Use your new generator with the CLI</a></li><li><a href="#use-your-new-generator-with-the-maven-plugin">Use your new generator with the maven plugin</a></li></ul></li><li><a href="#selective-generation">Selective generation</a></li><li><a href="#ignore-file-format">Ignore file format</a></li><li><a href="#customizing-the-generator">Customizing the generator</a></li><li><a href="#bringing-your-own-models">Bringing your own models</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://join.slack.com/t/openapi-generator/shared_invite/enQtNzAyNDMyOTU0OTE1LTY5ZDBiNDI5NzI5ZjQ1Y2E5OWVjMjZkYzY1ZGM2MWQ4YWFjMzcyNDY5MGI4NjQxNDBiMTlmZTc5NjY2ZTQ5MGM">Chat Room</a><a href="https://twitter.com/oas_generator" target="_blank" rel="noreferrer noopener">Twitter</a></div><div><h5>More</h5><a href="/blog">Blog</a><a href="https://github.com/OpenAPITools/openapi-generator">GitHub Repo</a><a class="github-button" href="https://github.com/OpenAPITools/openapi-generator" data-icon="octicon-star" data-count-href="/OpenAPITools/openapi-generator/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2019 OpenAPI-Generator Contributors (https://openapi-generator.tech). (Both &quot;OpenAPI Tools&quot; (https://OpenAPITools.org) and &quot;OpenAPI Generator&quot; are not affiliated with OpenAPI Initiative (OAI))</section></footer></div></body></html>

View File

@ -110,7 +110,7 @@
<pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">JAVA_OPTS</span>=<span class="hljs-string">"<span class="hljs-variable">${JAVA_OPTS}</span> -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"</span>
</code></pre></li>
<li>Execute the generator with your desired options. You should see the application output <em>only</em>
<pre><code class="hljs">Listening <span class="hljs-keyword">for</span> transport dt_socket at <span class="hljs-selector-tag">address</span>: <span class="hljs-number">5005</span>
<pre><code class="hljs"><span class="hljs-type">Listening</span> for trans<span class="hljs-keyword">port</span> dt_socket at address: 5005
</code></pre></li>
<li>Set breakpoints in code, and then attach your remote debugger from your IDE (see above). The generator will automatically unblock once the remote debugger is attached. You can now step through the code.</li>
</ul>

View File

@ -110,7 +110,7 @@
<pre><code class="hljs"><span class="hljs-builtin-name">export</span> <span class="hljs-attribute">JAVA_OPTS</span>=<span class="hljs-string">"<span class="hljs-variable">${JAVA_OPTS}</span> -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"</span>
</code></pre></li>
<li>Execute the generator with your desired options. You should see the application output <em>only</em>
<pre><code class="hljs">Listening <span class="hljs-keyword">for</span> transport dt_socket at <span class="hljs-selector-tag">address</span>: <span class="hljs-number">5005</span>
<pre><code class="hljs"><span class="hljs-type">Listening</span> for trans<span class="hljs-keyword">port</span> dt_socket at address: 5005
</code></pre></li>
<li>Set breakpoints in code, and then attach your remote debugger from your IDE (see above). The generator will automatically unblock once the remote debugger is attached. You can now step through the code.</li>
</ul>

View File

@ -82,7 +82,7 @@ docker <span class="hljs-builtin-name">run</span> -d -e <span class="hljs-attrib
docker ps -a
</code></pre>
<p>Then add the following to your local <a href="https://en.wikipedia.org/wiki/Hosts_%28file%29">hosts</a> table:</p>
<pre><code class="hljs">127<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.1</span> <span class="hljs-selector-tag">petstore</span><span class="hljs-selector-class">.swagger</span><span class="hljs-selector-class">.io</span>
<pre><code class="hljs"><span class="hljs-number">127.0.0.1</span> petstore.swagger.io
</code></pre>
<h2><a class="anchor" aria-hidden="true" id="who-should-i-report-a-security-vulnerability-to"></a><a href="#who-should-i-report-a-security-vulnerability-to" 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>Who should I report a security vulnerability to?</h2>
<p>Please contact <a href="mailto:team@openapitools.org">team@openapitools.org</a> with the details and we'll follow up with you.</p>

View File

@ -82,7 +82,7 @@ docker <span class="hljs-builtin-name">run</span> -d -e <span class="hljs-attrib
docker ps -a
</code></pre>
<p>Then add the following to your local <a href="https://en.wikipedia.org/wiki/Hosts_%28file%29">hosts</a> table:</p>
<pre><code class="hljs">127<span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.0</span><span class="hljs-selector-class">.1</span> <span class="hljs-selector-tag">petstore</span><span class="hljs-selector-class">.swagger</span><span class="hljs-selector-class">.io</span>
<pre><code class="hljs"><span class="hljs-number">127.0.0.1</span> petstore.swagger.io
</code></pre>
<h2><a class="anchor" aria-hidden="true" id="who-should-i-report-a-security-vulnerability-to"></a><a href="#who-should-i-report-a-security-vulnerability-to" 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>Who should I report a security vulnerability to?</h2>
<p>Please contact <a href="mailto:team@openapitools.org">team@openapitools.org</a> with the details and we'll follow up with you.</p>

View File

@ -125,7 +125,7 @@ You'll then need to output the generated code to this mapped volume. Everything
<pre><code class="hljs css language-bash">wget http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.3.4/openapi-generator-cli-3.3.4.jar -O openapi-generator-cli.jar
</code></pre>
<p>For <strong>Windows</strong> users, you will need to install <a href="http://gnuwin32.sourceforge.net/packages/wget.htm">wget</a> or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.</p>
<pre><code class="hljs">Invoke-WebRequest -OutFile openapi-generator-<span class="hljs-keyword">cli</span>.jar http://central.maven.org/maven2/org/openapitools/openapi-generator-<span class="hljs-keyword">cli</span>/<span class="hljs-number">3.3</span><span class="hljs-meta">.4</span>/openapi-generator-<span class="hljs-keyword">cli</span>-<span class="hljs-number">3.3</span><span class="hljs-meta">.4</span>.jar
<pre><code class="hljs">Invoke-WebRequest -OutFile openapi-generator-<span class="hljs-keyword">cli</span>.jar http://central.maven<span class="hljs-meta">.org</span>/maven2/org/openapitools/openapi-generator-<span class="hljs-keyword">cli</span>/<span class="hljs-number">3.3</span><span class="hljs-number">.4</span>/openapi-generator-<span class="hljs-keyword">cli</span><span class="hljs-number">-3.3</span><span class="hljs-number">.4</span>.jar
</code></pre>
<p>After downloading the JAR, run <code>java -jar openapi-generator-cli.jar help</code> to show the usage.</p>
<p>For Mac users, please make sure Java 8 is installed (Tips: run <code>java -version</code> to check the version), and export <code>JAVA_HOME</code> in order to use the supported Java version:</p>

View File

@ -125,7 +125,7 @@ You'll then need to output the generated code to this mapped volume. Everything
<pre><code class="hljs css language-bash">wget http://central.maven.org/maven2/org/openapitools/openapi-generator-cli/3.3.4/openapi-generator-cli-3.3.4.jar -O openapi-generator-cli.jar
</code></pre>
<p>For <strong>Windows</strong> users, you will need to install <a href="http://gnuwin32.sourceforge.net/packages/wget.htm">wget</a> or you can use Invoke-WebRequest in PowerShell (3.0+), e.g.</p>
<pre><code class="hljs">Invoke-WebRequest -OutFile openapi-generator-<span class="hljs-keyword">cli</span>.jar http://central.maven.org/maven2/org/openapitools/openapi-generator-<span class="hljs-keyword">cli</span>/<span class="hljs-number">3.3</span><span class="hljs-meta">.4</span>/openapi-generator-<span class="hljs-keyword">cli</span>-<span class="hljs-number">3.3</span><span class="hljs-meta">.4</span>.jar
<pre><code class="hljs">Invoke-WebRequest -OutFile openapi-generator-<span class="hljs-keyword">cli</span>.jar http://central.maven<span class="hljs-meta">.org</span>/maven2/org/openapitools/openapi-generator-<span class="hljs-keyword">cli</span>/<span class="hljs-number">3.3</span><span class="hljs-number">.4</span>/openapi-generator-<span class="hljs-keyword">cli</span><span class="hljs-number">-3.3</span><span class="hljs-number">.4</span>.jar
</code></pre>
<p>After downloading the JAR, run <code>java -jar openapi-generator-cli.jar help</code> to show the usage.</p>
<p>For Mac users, please make sure Java 8 is installed (Tips: run <code>java -version</code> to check the version), and export <code>JAVA_HOME</code> in order to use the supported Java version:</p>

View File

@ -212,12 +212,12 @@ Finished.
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"documentation-for-api-endpoints"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
## Documentation for API Endpoints
All URIs are relative to *</span><span class="hljs-template-variable">{{{basePath}}</span><span class="xml">}*
All URIs are relative to *</span><span class="hljs-template-variable">{{{basePath}}}</span><span class="xml">*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
</span><span class="hljs-template-tag">{{#<span class="hljs-name">apiInfo</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">apis</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">*</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">* | [**</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**](Apis/</span><span class="hljs-template-variable">{{apiDocPath}}</span><span class="xml"></span><span class="hljs-template-variable">{{classname}}</span><span class="xml">.md#</span><span class="hljs-template-variable">{{operationIdLowerCase}}</span><span class="xml">) | **</span><span class="hljs-template-variable">{{httpMethod}}</span><span class="xml">** </span><span class="hljs-template-variable">{{path}}</span><span class="xml"> | </span><span class="hljs-template-tag">{{#<span class="hljs-name">summary</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{summary}}</span><span class="xml">}</span><span class="hljs-template-tag">{{/<span class="hljs-name">summary</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">apis</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">apiInfo</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">apiInfo</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">apis</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">*</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">* | [**</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**](Apis/</span><span class="hljs-template-variable">{{apiDocPath}}</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">.md#</span><span class="hljs-template-variable">{{operationIdLowerCase}}</span><span class="xml">) | **</span><span class="hljs-template-variable">{{httpMethod}}</span><span class="xml">** </span><span class="hljs-template-variable">{{path}}</span><span class="xml"> | </span><span class="hljs-template-tag">{{#<span class="hljs-name">summary</span>}}</span><span class="hljs-template-variable">{{{summary}}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">summary</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">apis</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">apiInfo</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateApiDocs</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">
@ -225,8 +225,8 @@ Class | Method | HTTP request | Description
## Documentation for Models
</span><span class="hljs-template-tag">{{#<span class="hljs-name">modelPackage</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">models</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">model</span>}}</span><span class="xml"> - [</span><span class="hljs-template-variable">{{{modelPackage}}</span><span class="xml">}.</span><span class="hljs-template-variable">{{{classname}}</span><span class="xml">}](Models/</span><span class="hljs-template-variable">{{modelDocPath}}</span><span class="xml"></span><span class="hljs-template-variable">{{{classname}}</span><span class="xml">}.md)
</span><span class="hljs-template-tag">{{/<span class="hljs-name">model</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">models</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">models</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">model</span>}}</span><span class="xml"> - [</span><span class="hljs-template-variable">{{{modelPackage}}}</span><span class="xml">.</span><span class="hljs-template-variable">{{{classname}}}</span><span class="xml">](Models/</span><span class="hljs-template-variable">{{modelDocPath}}</span><span class="hljs-template-variable">{{{classname}}}</span><span class="xml">.md)
</span><span class="hljs-template-tag">{{/<span class="hljs-name">model</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">models</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">modelPackage</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{^modelPackage}}</span><span class="xml">
No model defined in this package
@ -250,7 +250,7 @@ Authentication schemes defined for the API:
</span><span class="hljs-template-tag">{{#<span class="hljs-name">isApiKey</span>}}</span><span class="xml">- **Type**: API key
- **API key parameter name**: </span><span class="hljs-template-variable">{{keyParamName}}</span><span class="xml">
- **Location**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">isKeyInQuery</span>}}</span><span class="xml">URL query string</span><span class="hljs-template-tag">{{/<span class="hljs-name">isKeyInQuery</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">isKeyInHeader</span>}}</span><span class="xml">HTTP header</span><span class="hljs-template-tag">{{/<span class="hljs-name">isKeyInHeader</span>}}</span><span class="xml">
- **Location**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">isKeyInQuery</span>}}</span><span class="xml">URL query string</span><span class="hljs-template-tag">{{/<span class="hljs-name">isKeyInQuery</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">isKeyInHeader</span>}}</span><span class="xml">HTTP header</span><span class="hljs-template-tag">{{/<span class="hljs-name">isKeyInHeader</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">isApiKey</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">isBasic</span>}}</span><span class="xml">- **Type**: HTTP basic authentication
</span><span class="hljs-template-tag">{{/<span class="hljs-name">isBasic</span>}}</span><span class="xml">
@ -267,45 +267,45 @@ Authentication schemes defined for the API:
<p>Let's not focus too much on the contents of this file. You may refer to <a href="/docs/templating">templating</a> for more details on the variables bound to these files and to <a href="/docs/debugging">debugging</a> how to debug the structures. Of note here is that we're generating structures in markdown as defined by the objects constructed by our new &quot;Config&quot; class.</p>
<h4><a class="anchor" aria-hidden="true" id="apimustache"></a><a href="#apimustache" 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>api.mustache</h4>
<p>The API documentation might look like this:</p>
<pre><code class="hljs css language-mustache"><span class="xml"># </span><span class="hljs-template-variable">{{classname}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">description</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{description}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">description</span>}}</span><span class="xml">
<pre><code class="hljs css language-mustache"><span class="xml"># </span><span class="hljs-template-variable">{{classname}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">description</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{description}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">description</span>}}</span><span class="xml">
All URIs are relative to *</span><span class="hljs-template-variable">{{basePath}}</span><span class="xml">*
Method | HTTP request | Description
------------- | ------------- | -------------
</span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">.md#</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">) | **</span><span class="hljs-template-variable">{{httpMethod}}</span><span class="xml">** </span><span class="hljs-template-variable">{{path}}</span><span class="xml"> | </span><span class="hljs-template-tag">{{#<span class="hljs-name">summary</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{summary}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">summary</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">.md#</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">) | **</span><span class="hljs-template-variable">{{httpMethod}}</span><span class="xml">** </span><span class="hljs-template-variable">{{path}}</span><span class="xml"> | </span><span class="hljs-template-tag">{{#<span class="hljs-name">summary</span>}}</span><span class="hljs-template-variable">{{summary}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">summary</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{operationId}}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
# **</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**
&gt; </span><span class="hljs-template-tag">{{#<span class="hljs-name">returnType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{returnType}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">(</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{paramName}}</span><span class="xml">}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">)
&gt; </span><span class="hljs-template-tag">{{#<span class="hljs-name">returnType</span>}}</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">(</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="hljs-template-variable">{{{paramName}}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">)
</span><span class="hljs-template-variable">{{summary}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">notes</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{summary}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">notes</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{notes}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">notes</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{notes}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">notes</span>}}</span><span class="xml">
### Parameters
</span><span class="hljs-template-variable">{{^allParams}}</span><span class="xml">This endpoint does not need any parameter.</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">-last</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{^allParams}}</span><span class="xml">This endpoint does not need any parameter.</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="hljs-template-tag">{{#-<span class="hljs-name">last</span>}}</span><span class="xml">
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------</span><span class="hljs-template-tag">{{/<span class="hljs-name">-last</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="xml"> **</span><span class="hljs-template-variable">{{paramName}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">isFile</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isFile</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^isFile}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{baseType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^generateModelDocs}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">isFile</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">| </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> |</span><span class="hljs-template-variable">{{^required}}</span><span class="xml"> [optional]</span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml"> [default to </span><span class="hljs-template-variable">{{defaultValue}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">allowableValues</span>}}</span><span class="xml"> [enum: </span><span class="hljs-template-tag">{{#<span class="hljs-name">values</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{.}}</span><span class="xml">}</span><span class="hljs-template-variable">{{^-last}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">-last</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">values</span>}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">allowableValues</span>}}</span><span class="xml">
------------- | ------------- | ------------- | -------------</span><span class="hljs-template-tag">{{/-<span class="hljs-name">last</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="xml"> **</span><span class="hljs-template-variable">{{paramName}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">isFile</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isFile</span>}}</span><span class="hljs-template-variable">{{^isFile}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{baseType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="hljs-template-variable">{{^generateModelDocs}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">isFile</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">| </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> |</span><span class="hljs-template-variable">{{^required}}</span><span class="xml"> [optional]</span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml"> [default to </span><span class="hljs-template-variable">{{defaultValue}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">allowableValues</span>}}</span><span class="xml"> [enum: </span><span class="hljs-template-tag">{{#<span class="hljs-name">values</span>}}</span><span class="hljs-template-variable">{{{.}}}</span><span class="hljs-template-variable">{{^-last}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/-<span class="hljs-name">last</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">values</span>}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">allowableValues</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">
### Return type
</span><span class="hljs-template-tag">{{#<span class="hljs-name">returnType</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^returnTypeIsPrimitive}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{returnBaseType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^generateModelDocs}}</span><span class="xml">**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^returnType}}</span><span class="xml">null (empty response body)</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">returnType</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="hljs-template-variable">{{^returnTypeIsPrimitive}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{returnBaseType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="hljs-template-variable">{{^generateModelDocs}}</span><span class="xml">**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="hljs-template-variable">{{^returnType}}</span><span class="xml">null (empty response body)</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="xml">
### Authorization
</span><span class="hljs-template-variable">{{^authMethods}}</span><span class="xml">No authorization required</span><span class="hljs-template-tag">{{/<span class="hljs-name">authMethods</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">authMethods</span>}}</span><span class="xml">[</span><span class="hljs-template-variable">{{name}}</span><span class="xml">](../README.md#</span><span class="hljs-template-variable">{{name}}</span><span class="xml">)</span><span class="hljs-template-variable">{{^-last}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">-last</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">authMethods</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{^authMethods}}</span><span class="xml">No authorization required</span><span class="hljs-template-tag">{{/<span class="hljs-name">authMethods</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">authMethods</span>}}</span><span class="xml">[</span><span class="hljs-template-variable">{{name}}</span><span class="xml">](../README.md#</span><span class="hljs-template-variable">{{name}}</span><span class="xml">)</span><span class="hljs-template-variable">{{^-last}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/-<span class="hljs-name">last</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">authMethods</span>}}</span><span class="xml">
### HTTP request headers
- **Content-Type**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">consumes</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{mediaType}}</span><span class="xml">}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">consumes</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^consumes}}</span><span class="xml">Not defined</span><span class="hljs-template-tag">{{/<span class="hljs-name">consumes</span>}}</span><span class="xml">
- **Accept**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">produces</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{mediaType}}</span><span class="xml">}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">produces</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^produces}}</span><span class="xml">Not defined</span><span class="hljs-template-tag">{{/<span class="hljs-name">produces</span>}}</span><span class="xml">
- **Content-Type**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">consumes</span>}}</span><span class="hljs-template-variable">{{{mediaType}}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">consumes</span>}}</span><span class="hljs-template-variable">{{^consumes}}</span><span class="xml">Not defined</span><span class="hljs-template-tag">{{/<span class="hljs-name">consumes</span>}}</span><span class="xml">
- **Accept**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">produces</span>}}</span><span class="hljs-template-variable">{{{mediaType}}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">produces</span>}}</span><span class="hljs-template-variable">{{^produces}}</span><span class="xml">Not defined</span><span class="hljs-template-tag">{{/<span class="hljs-name">produces</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="xml">
@ -313,19 +313,19 @@ Name | Type | Description | Notes
</span></code></pre>
<h4><a class="anchor" aria-hidden="true" id="modelmustache"></a><a href="#modelmustache" 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>model.mustache</h4>
<p>The models file could resemble the following.</p>
<pre><code class="hljs css language-mustache"><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">models</span>}}</span><span class="xml">
<pre><code class="hljs css language-mustache"><span class="hljs-template-tag">{{#<span class="hljs-name">models</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">model</span>}}</span><span class="xml">
# </span><span class="hljs-template-variable">{{{packageName}}</span><span class="xml">}.</span><span class="hljs-template-variable">{{modelPackage}}</span><span class="xml">.</span><span class="hljs-template-variable">{{{classname}}</span><span class="xml">}
# </span><span class="hljs-template-variable">{{{packageName}}}</span><span class="xml">.</span><span class="hljs-template-variable">{{modelPackage}}</span><span class="xml">.</span><span class="hljs-template-variable">{{{classname}}}</span><span class="xml">
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
</span><span class="hljs-template-tag">{{#<span class="hljs-name">parent</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">parentVars</span>}}</span><span class="xml">
**</span><span class="hljs-template-variable">{{name}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{complexType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{^required}}</span><span class="xml">[optional] </span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">readOnly</span>}}</span><span class="xml">[readonly] </span><span class="hljs-template-tag">{{/<span class="hljs-name">readOnly</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml">[default to </span><span class="hljs-template-variable">{{{.}}</span><span class="xml">}]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml">
**</span><span class="hljs-template-variable">{{name}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{complexType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{^required}}</span><span class="xml">[optional] </span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">readOnly</span>}}</span><span class="xml">[readonly] </span><span class="hljs-template-tag">{{/<span class="hljs-name">readOnly</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml">[default to </span><span class="hljs-template-variable">{{{.}}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">parentVars</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">parent</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{name}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{complexType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{^required}}</span><span class="xml">[optional] </span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">readOnly</span>}}</span><span class="xml">[readonly] </span><span class="hljs-template-tag">{{/<span class="hljs-name">readOnly</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml">[default to </span><span class="hljs-template-variable">{{{.}}</span><span class="xml">}]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{name}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{complexType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{^required}}</span><span class="xml">[optional] </span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">readOnly</span>}}</span><span class="xml">[readonly] </span><span class="hljs-template-tag">{{/<span class="hljs-name">readOnly</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml">[default to </span><span class="hljs-template-variable">{{{.}}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -212,12 +212,12 @@ Finished.
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"documentation-for-api-endpoints"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
## Documentation for API Endpoints
All URIs are relative to *</span><span class="hljs-template-variable">{{{basePath}}</span><span class="xml">}*
All URIs are relative to *</span><span class="hljs-template-variable">{{{basePath}}}</span><span class="xml">*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
</span><span class="hljs-template-tag">{{#<span class="hljs-name">apiInfo</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">apis</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">*</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">* | [**</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**](Apis/</span><span class="hljs-template-variable">{{apiDocPath}}</span><span class="xml"></span><span class="hljs-template-variable">{{classname}}</span><span class="xml">.md#</span><span class="hljs-template-variable">{{operationIdLowerCase}}</span><span class="xml">) | **</span><span class="hljs-template-variable">{{httpMethod}}</span><span class="xml">** </span><span class="hljs-template-variable">{{path}}</span><span class="xml"> | </span><span class="hljs-template-tag">{{#<span class="hljs-name">summary</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{summary}}</span><span class="xml">}</span><span class="hljs-template-tag">{{/<span class="hljs-name">summary</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">apis</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">apiInfo</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">apiInfo</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">apis</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">*</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">* | [**</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**](Apis/</span><span class="hljs-template-variable">{{apiDocPath}}</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">.md#</span><span class="hljs-template-variable">{{operationIdLowerCase}}</span><span class="xml">) | **</span><span class="hljs-template-variable">{{httpMethod}}</span><span class="xml">** </span><span class="hljs-template-variable">{{path}}</span><span class="xml"> | </span><span class="hljs-template-tag">{{#<span class="hljs-name">summary</span>}}</span><span class="hljs-template-variable">{{{summary}}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">summary</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">apis</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">apiInfo</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateApiDocs</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">
@ -225,8 +225,8 @@ Class | Method | HTTP request | Description
## Documentation for Models
</span><span class="hljs-template-tag">{{#<span class="hljs-name">modelPackage</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">models</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">model</span>}}</span><span class="xml"> - [</span><span class="hljs-template-variable">{{{modelPackage}}</span><span class="xml">}.</span><span class="hljs-template-variable">{{{classname}}</span><span class="xml">}](Models/</span><span class="hljs-template-variable">{{modelDocPath}}</span><span class="xml"></span><span class="hljs-template-variable">{{{classname}}</span><span class="xml">}.md)
</span><span class="hljs-template-tag">{{/<span class="hljs-name">model</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">models</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">models</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">model</span>}}</span><span class="xml"> - [</span><span class="hljs-template-variable">{{{modelPackage}}}</span><span class="xml">.</span><span class="hljs-template-variable">{{{classname}}}</span><span class="xml">](Models/</span><span class="hljs-template-variable">{{modelDocPath}}</span><span class="hljs-template-variable">{{{classname}}}</span><span class="xml">.md)
</span><span class="hljs-template-tag">{{/<span class="hljs-name">model</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">models</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">modelPackage</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{^modelPackage}}</span><span class="xml">
No model defined in this package
@ -250,7 +250,7 @@ Authentication schemes defined for the API:
</span><span class="hljs-template-tag">{{#<span class="hljs-name">isApiKey</span>}}</span><span class="xml">- **Type**: API key
- **API key parameter name**: </span><span class="hljs-template-variable">{{keyParamName}}</span><span class="xml">
- **Location**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">isKeyInQuery</span>}}</span><span class="xml">URL query string</span><span class="hljs-template-tag">{{/<span class="hljs-name">isKeyInQuery</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">isKeyInHeader</span>}}</span><span class="xml">HTTP header</span><span class="hljs-template-tag">{{/<span class="hljs-name">isKeyInHeader</span>}}</span><span class="xml">
- **Location**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">isKeyInQuery</span>}}</span><span class="xml">URL query string</span><span class="hljs-template-tag">{{/<span class="hljs-name">isKeyInQuery</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">isKeyInHeader</span>}}</span><span class="xml">HTTP header</span><span class="hljs-template-tag">{{/<span class="hljs-name">isKeyInHeader</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">isApiKey</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">isBasic</span>}}</span><span class="xml">- **Type**: HTTP basic authentication
</span><span class="hljs-template-tag">{{/<span class="hljs-name">isBasic</span>}}</span><span class="xml">
@ -267,45 +267,45 @@ Authentication schemes defined for the API:
<p>Let's not focus too much on the contents of this file. You may refer to <a href="/docs/templating">templating</a> for more details on the variables bound to these files and to <a href="/docs/debugging">debugging</a> how to debug the structures. Of note here is that we're generating structures in markdown as defined by the objects constructed by our new &quot;Config&quot; class.</p>
<h4><a class="anchor" aria-hidden="true" id="apimustache"></a><a href="#apimustache" 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>api.mustache</h4>
<p>The API documentation might look like this:</p>
<pre><code class="hljs css language-mustache"><span class="xml"># </span><span class="hljs-template-variable">{{classname}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">description</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{description}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">description</span>}}</span><span class="xml">
<pre><code class="hljs css language-mustache"><span class="xml"># </span><span class="hljs-template-variable">{{classname}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">description</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{description}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">description</span>}}</span><span class="xml">
All URIs are relative to *</span><span class="hljs-template-variable">{{basePath}}</span><span class="xml">*
Method | HTTP request | Description
------------- | ------------- | -------------
</span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">.md#</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">) | **</span><span class="hljs-template-variable">{{httpMethod}}</span><span class="xml">** </span><span class="hljs-template-variable">{{path}}</span><span class="xml"> | </span><span class="hljs-template-tag">{{#<span class="hljs-name">summary</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{summary}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">summary</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{classname}}</span><span class="xml">.md#</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">) | **</span><span class="hljs-template-variable">{{httpMethod}}</span><span class="xml">** </span><span class="hljs-template-variable">{{path}}</span><span class="xml"> | </span><span class="hljs-template-tag">{{#<span class="hljs-name">summary</span>}}</span><span class="hljs-template-variable">{{summary}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">summary</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">operations</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">operation</span>}}</span><span class="xml">
<span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"</span></span></span><span class="hljs-template-variable">{{operationId}}</span><span class="xml"><span class="hljs-tag"><span class="hljs-string">"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span>
# **</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">**
&gt; </span><span class="hljs-template-tag">{{#<span class="hljs-name">returnType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{returnType}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">(</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{paramName}}</span><span class="xml">}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">)
&gt; </span><span class="hljs-template-tag">{{#<span class="hljs-name">returnType</span>}}</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="hljs-template-variable">{{operationId}}</span><span class="xml">(</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="hljs-template-variable">{{{paramName}}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">)
</span><span class="hljs-template-variable">{{summary}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">notes</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{summary}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">notes</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{notes}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">notes</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{notes}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">notes</span>}}</span><span class="xml">
### Parameters
</span><span class="hljs-template-variable">{{^allParams}}</span><span class="xml">This endpoint does not need any parameter.</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">-last</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{^allParams}}</span><span class="xml">This endpoint does not need any parameter.</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="hljs-template-tag">{{#-<span class="hljs-name">last</span>}}</span><span class="xml">
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------</span><span class="hljs-template-tag">{{/<span class="hljs-name">-last</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="xml"> **</span><span class="hljs-template-variable">{{paramName}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">isFile</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isFile</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^isFile}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{baseType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^generateModelDocs}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">isFile</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">| </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> |</span><span class="hljs-template-variable">{{^required}}</span><span class="xml"> [optional]</span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml"> [default to </span><span class="hljs-template-variable">{{defaultValue}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">allowableValues</span>}}</span><span class="xml"> [enum: </span><span class="hljs-template-tag">{{#<span class="hljs-name">values</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{.}}</span><span class="xml">}</span><span class="hljs-template-variable">{{^-last}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">-last</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">values</span>}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">allowableValues</span>}}</span><span class="xml">
------------- | ------------- | ------------- | -------------</span><span class="hljs-template-tag">{{/-<span class="hljs-name">last</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">allParams</span>}}</span><span class="xml"> **</span><span class="hljs-template-variable">{{paramName}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">isFile</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isFile</span>}}</span><span class="hljs-template-variable">{{^isFile}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{baseType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="hljs-template-variable">{{^generateModelDocs}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">isFile</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">| </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> |</span><span class="hljs-template-variable">{{^required}}</span><span class="xml"> [optional]</span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml"> [default to </span><span class="hljs-template-variable">{{defaultValue}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">allowableValues</span>}}</span><span class="xml"> [enum: </span><span class="hljs-template-tag">{{#<span class="hljs-name">values</span>}}</span><span class="hljs-template-variable">{{{.}}}</span><span class="hljs-template-variable">{{^-last}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/-<span class="hljs-name">last</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">values</span>}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">allowableValues</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">allParams</span>}}</span><span class="xml">
### Return type
</span><span class="hljs-template-tag">{{#<span class="hljs-name">returnType</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^returnTypeIsPrimitive}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{returnBaseType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^generateModelDocs}}</span><span class="xml">**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^returnType}}</span><span class="xml">null (empty response body)</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">returnType</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="hljs-template-variable">{{^returnTypeIsPrimitive}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">generateModelDocs</span>}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{returnBaseType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="hljs-template-variable">{{^generateModelDocs}}</span><span class="xml">**</span><span class="hljs-template-variable">{{returnType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">generateModelDocs</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnTypeIsPrimitive</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="hljs-template-variable">{{^returnType}}</span><span class="xml">null (empty response body)</span><span class="hljs-template-tag">{{/<span class="hljs-name">returnType</span>}}</span><span class="xml">
### Authorization
</span><span class="hljs-template-variable">{{^authMethods}}</span><span class="xml">No authorization required</span><span class="hljs-template-tag">{{/<span class="hljs-name">authMethods</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">authMethods</span>}}</span><span class="xml">[</span><span class="hljs-template-variable">{{name}}</span><span class="xml">](../README.md#</span><span class="hljs-template-variable">{{name}}</span><span class="xml">)</span><span class="hljs-template-variable">{{^-last}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">-last</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">authMethods</span>}}</span><span class="xml">
</span><span class="hljs-template-variable">{{^authMethods}}</span><span class="xml">No authorization required</span><span class="hljs-template-tag">{{/<span class="hljs-name">authMethods</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">authMethods</span>}}</span><span class="xml">[</span><span class="hljs-template-variable">{{name}}</span><span class="xml">](../README.md#</span><span class="hljs-template-variable">{{name}}</span><span class="xml">)</span><span class="hljs-template-variable">{{^-last}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/-<span class="hljs-name">last</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">authMethods</span>}}</span><span class="xml">
### HTTP request headers
- **Content-Type**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">consumes</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{mediaType}}</span><span class="xml">}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">consumes</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^consumes}}</span><span class="xml">Not defined</span><span class="hljs-template-tag">{{/<span class="hljs-name">consumes</span>}}</span><span class="xml">
- **Accept**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">produces</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{{mediaType}}</span><span class="xml">}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">produces</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^produces}}</span><span class="xml">Not defined</span><span class="hljs-template-tag">{{/<span class="hljs-name">produces</span>}}</span><span class="xml">
- **Content-Type**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">consumes</span>}}</span><span class="hljs-template-variable">{{{mediaType}}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">consumes</span>}}</span><span class="hljs-template-variable">{{^consumes}}</span><span class="xml">Not defined</span><span class="hljs-template-tag">{{/<span class="hljs-name">consumes</span>}}</span><span class="xml">
- **Accept**: </span><span class="hljs-template-tag">{{#<span class="hljs-name">produces</span>}}</span><span class="hljs-template-variable">{{{mediaType}}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">hasMore</span>}}</span><span class="xml">, </span><span class="hljs-template-tag">{{/<span class="hljs-name">hasMore</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">produces</span>}}</span><span class="hljs-template-variable">{{^produces}}</span><span class="xml">Not defined</span><span class="hljs-template-tag">{{/<span class="hljs-name">produces</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operation</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">operations</span>}}</span><span class="xml">
@ -313,19 +313,19 @@ Name | Type | Description | Notes
</span></code></pre>
<h4><a class="anchor" aria-hidden="true" id="modelmustache"></a><a href="#modelmustache" 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>model.mustache</h4>
<p>The models file could resemble the following.</p>
<pre><code class="hljs css language-mustache"><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">models</span>}}</span><span class="xml">
<pre><code class="hljs css language-mustache"><span class="hljs-template-tag">{{#<span class="hljs-name">models</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">model</span>}}</span><span class="xml">
# </span><span class="hljs-template-variable">{{{packageName}}</span><span class="xml">}.</span><span class="hljs-template-variable">{{modelPackage}}</span><span class="xml">.</span><span class="hljs-template-variable">{{{classname}}</span><span class="xml">}
# </span><span class="hljs-template-variable">{{{packageName}}}</span><span class="xml">.</span><span class="hljs-template-variable">{{modelPackage}}</span><span class="xml">.</span><span class="hljs-template-variable">{{{classname}}}</span><span class="xml">
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
</span><span class="hljs-template-tag">{{#<span class="hljs-name">parent</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">parentVars</span>}}</span><span class="xml">
**</span><span class="hljs-template-variable">{{name}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{complexType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{^required}}</span><span class="xml">[optional] </span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">readOnly</span>}}</span><span class="xml">[readonly] </span><span class="hljs-template-tag">{{/<span class="hljs-name">readOnly</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml">[default to </span><span class="hljs-template-variable">{{{.}}</span><span class="xml">}]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml">
**</span><span class="hljs-template-variable">{{name}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{complexType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{^required}}</span><span class="xml">[optional] </span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">readOnly</span>}}</span><span class="xml">[readonly] </span><span class="hljs-template-tag">{{/<span class="hljs-name">readOnly</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml">[default to </span><span class="hljs-template-variable">{{{.}}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">parentVars</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">parent</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{name}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"></span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{complexType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{^required}}</span><span class="xml">[optional] </span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">readOnly</span>}}</span><span class="xml">[readonly] </span><span class="hljs-template-tag">{{/<span class="hljs-name">readOnly</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml">[default to </span><span class="hljs-template-variable">{{{.}}</span><span class="xml">}]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{name}}</span><span class="xml">** | </span><span class="hljs-template-tag">{{#<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml">**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="hljs-template-variable">{{^isPrimitiveType}}</span><span class="xml">[**</span><span class="hljs-template-variable">{{dataType}}</span><span class="xml">**](</span><span class="hljs-template-variable">{{complexType}}</span><span class="xml">.md)</span><span class="hljs-template-tag">{{/<span class="hljs-name">isPrimitiveType</span>}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{description}}</span><span class="xml"> | </span><span class="hljs-template-variable">{{^required}}</span><span class="xml">[optional] </span><span class="hljs-template-tag">{{/<span class="hljs-name">required</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">readOnly</span>}}</span><span class="xml">[readonly] </span><span class="hljs-template-tag">{{/<span class="hljs-name">readOnly</span>}}</span><span class="hljs-template-tag">{{#<span class="hljs-name">defaultValue</span>}}</span><span class="xml">[default to </span><span class="hljs-template-variable">{{{.}}}</span><span class="xml">]</span><span class="hljs-template-tag">{{/<span class="hljs-name">defaultValue</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -203,53 +203,53 @@ Concretely if you did not specify anything when you are generating java code, a
<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-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-attr">'405':</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-bullet">-</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-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-bullet">-</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>
<span class="hljs-attr">responses:</span>
<span class="hljs-attr">'405':</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-bullet">-</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 &amp; 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>

View File

@ -203,53 +203,53 @@ Concretely if you did not specify anything when you are generating java code, a
<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-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-attr">'405':</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-bullet">-</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-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-bullet">-</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>
<span class="hljs-attr">responses:</span>
<span class="hljs-attr">'405':</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-bullet">-</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 &amp; 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>

View File

@ -352,7 +352,7 @@ Download https://jcenter.bintray.com/com/jcabi/jcabi-aspects/0.22.6/jcabi-aspect
}
</code></pre>
<p>Lastly, create a file <code>resources/META-INF/services/org.openapitools.codegen.api.TemplatingEngineAdapter</code>, containing the full class path to the above class:</p>
<pre><code class="hljs">org<span class="hljs-selector-class">.openapitools</span><span class="hljs-selector-class">.examples</span><span class="hljs-selector-class">.templating</span><span class="hljs-selector-class">.PebbleTemplateAdapter</span>
<pre><code class="hljs"><span class="hljs-selector-tag">org</span><span class="hljs-selector-class">.openapitools</span><span class="hljs-selector-class">.examples</span><span class="hljs-selector-class">.templating</span><span class="hljs-selector-class">.PebbleTemplateAdapter</span>
</code></pre>
<p>This allows the adapter to load via ServiceLoader, and to be referenced via the identifier <code>pebble</code>. This is optional; if you don't provide the above file and contents, you'll only be able to load the engine via full class name (explained in a bit).</p>
<p>Now, build the fatjar for this new adapter:</p>
@ -380,11 +380,11 @@ type Generated</span><span class="hljs-template-variable">{{classname}}</span><s
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> item.isEnum %}</span><span class="xml">
// TODO: enum
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">else</span></span> %}</span><span class="xml">
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> item.description is not empty %}</span><span class="xml">// </span><span class="hljs-template-variable">{{item.description}}</span><span class="xml"></span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> item.description is not empty %}</span><span class="xml">// </span><span class="hljs-template-variable">{{item.description}}</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
type </span><span class="hljs-template-variable">{{item.classname}}</span><span class="xml"> struct {
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">for</span></span> var <span class="hljs-keyword">in</span> item.model.vars %}</span><span class="xml">
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.description is not empty %}</span><span class="xml">// </span><span class="hljs-template-variable">{{var.description}}</span><span class="xml"></span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
</span><span class="hljs-template-variable">{{var.name}}</span><span class="xml"> </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.isNullable %}</span><span class="xml">*</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml"></span><span class="hljs-template-variable">{{var.dataType}}</span><span class="xml"> `json:"</span><span class="hljs-template-variable">{{var.baseName}}</span><span class="xml"></span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.required == false %}</span><span class="xml">,omitempty</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">"</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.withXml == true %}</span><span class="xml"> xml:"</span><span class="hljs-template-variable">{{var.baseName}}</span><span class="xml"></span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.isXmlAttribute %}</span><span class="xml">,attr</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">"</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">`
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.description is not empty %}</span><span class="xml">// </span><span class="hljs-template-variable">{{var.description}}</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
</span><span class="hljs-template-variable">{{var.name}}</span><span class="xml"> </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.isNullable %}</span><span class="xml">*</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="hljs-template-variable">{{var.dataType}}</span><span class="xml"> `json:"</span><span class="hljs-template-variable">{{var.baseName}}</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.required == false %}</span><span class="xml">,omitempty</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">"</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.withXml == true %}</span><span class="xml"> xml:"</span><span class="hljs-template-variable">{{var.baseName}}</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.isXmlAttribute %}</span><span class="xml">,attr</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">"</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">`
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endfor</span></span> %}</span><span class="xml">
}
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
@ -410,51 +410,51 @@ type </span><span class="hljs-template-variable">{{item.classname}}</span><span
<h2><a class="anchor" aria-hidden="true" id="structures"></a><a href="#structures" 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>Structures</h2>
<p>Aside from transforming an API document, the implementing class gets to decide how to apply the data structure to templates. We can decide which data structure to apply to which template files. You have the following structures at your disposal.</p>
<p>Examples for the following structures will be presented using the following spec document:</p>
<pre><code class="hljs css language-yaml"><span class="hljs-attr"> swagger:</span> <span class="hljs-string">"2.0"</span>
<span class="hljs-attr"> info:</span>
<span class="hljs-attr"> version:</span> <span class="hljs-string">"1.0.0"</span>
<span class="hljs-attr"> title:</span> <span class="hljs-string">"Swagger Petstore"</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification"</span>
<span class="hljs-attr"> termsOfService:</span> <span class="hljs-string">"http://swagger.io/terms/"</span>
<span class="hljs-attr"> contact:</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">"Swagger API Team"</span>
<span class="hljs-attr"> license:</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">"MIT"</span>
<span class="hljs-attr"> host:</span> <span class="hljs-string">"petstore.swagger.io"</span>
<span class="hljs-attr"> basePath:</span> <span class="hljs-string">"/api"</span>
<span class="hljs-attr"> schemes:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"http"</span>
<span class="hljs-attr"> consumes:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr"> produces:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr"> paths:</span>
<pre><code class="hljs css language-yaml"> <span class="hljs-attr">swagger:</span> <span class="hljs-string">"2.0"</span>
<span class="hljs-attr">info:</span>
<span class="hljs-attr">version:</span> <span class="hljs-string">"1.0.0"</span>
<span class="hljs-attr">title:</span> <span class="hljs-string">"Swagger Petstore"</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification"</span>
<span class="hljs-attr">termsOfService:</span> <span class="hljs-string">"http://swagger.io/terms/"</span>
<span class="hljs-attr">contact:</span>
<span class="hljs-attr">name:</span> <span class="hljs-string">"Swagger API Team"</span>
<span class="hljs-attr">license:</span>
<span class="hljs-attr">name:</span> <span class="hljs-string">"MIT"</span>
<span class="hljs-attr">host:</span> <span class="hljs-string">"petstore.swagger.io"</span>
<span class="hljs-attr">basePath:</span> <span class="hljs-string">"/api"</span>
<span class="hljs-attr">schemes:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"http"</span>
<span class="hljs-attr">consumes:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr">produces:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr">paths:</span>
<span class="hljs-string">/pets:</span>
<span class="hljs-attr"> get:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">"Returns all pets from the system that the user has access to"</span>
<span class="hljs-attr"> produces:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr"> responses:</span>
<span class="hljs-string">"200"</span><span class="hljs-string">:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">"A list of pets."</span>
<span class="hljs-attr"> schema:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"array"</span>
<span class="hljs-attr"> items:</span>
<span class="hljs-attr">get:</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">"Returns all pets from the system that the user has access to"</span>
<span class="hljs-attr">produces:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr">responses:</span>
<span class="hljs-attr">"200":</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">"A list of pets."</span>
<span class="hljs-attr">schema:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"array"</span>
<span class="hljs-attr">items:</span>
<span class="hljs-string">$ref:</span> <span class="hljs-string">"#/definitions/Pet"</span>
<span class="hljs-attr"> definitions:</span>
<span class="hljs-attr"> Pet:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"object"</span>
<span class="hljs-attr"> required:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"id"</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"name"</span>
<span class="hljs-attr"> properties:</span>
<span class="hljs-attr"> id:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"integer"</span>
<span class="hljs-attr"> format:</span> <span class="hljs-string">"int64"</span>
<span class="hljs-attr"> name:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"string"</span>
<span class="hljs-attr"> tag:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"string"</span>
<span class="hljs-attr">definitions:</span>
<span class="hljs-attr">Pet:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"object"</span>
<span class="hljs-attr">required:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"id"</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"name"</span>
<span class="hljs-attr">properties:</span>
<span class="hljs-attr">id:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"integer"</span>
<span class="hljs-attr">format:</span> <span class="hljs-string">"int64"</span>
<span class="hljs-attr">name:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"string"</span>
<span class="hljs-attr">tag:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"string"</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="operations"></a><a href="#operations" 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>Operations</h3>
@ -660,11 +660,11 @@ apiTemplateFiles.put(<span class="hljs-string">"api-body.mustache"</span>, <span
<span class="hljs-attr">"datatype"</span> : <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"iexclusiveMaximum"</span> : <span class="hljs-literal">false</span>
} ],
<span class="hljs-attr">"requiredVars"</span> : [ /* id, name */ ],
<span class="hljs-attr">"optionalVars"</span> : [ /* tag */ ],
<span class="hljs-attr">"requiredVars"</span> : [ <span class="hljs-comment">/* id, name */</span> ],
<span class="hljs-attr">"optionalVars"</span> : [ <span class="hljs-comment">/* tag */</span> ],
<span class="hljs-attr">"readOnlyVars"</span> : [ ],
<span class="hljs-attr">"readWriteVars"</span> : [ /* lists metadata for all three properties */ ],
<span class="hljs-attr">"allVars"</span> : [ /* lists all properties */],
<span class="hljs-attr">"readWriteVars"</span> : [ <span class="hljs-comment">/* lists metadata for all three properties */</span> ],
<span class="hljs-attr">"allVars"</span> : [ <span class="hljs-comment">/* lists all properties */</span>],
<span class="hljs-attr">"parentVars"</span> : [ ],
<span class="hljs-attr">"mandatory"</span> : [ <span class="hljs-string">"id"</span>, <span class="hljs-string">"name"</span> ],
<span class="hljs-attr">"allMandatory"</span> : [ <span class="hljs-string">"id"</span>, <span class="hljs-string">"name"</span> ],
@ -748,20 +748,20 @@ This is used for comments in the code (like javadoc if the target language is ja
The order of the items in the list matters: their position is used to group them together.</p>
<p>Example:</p>
<pre><code class="hljs css language-yaml"><span class="hljs-attr">WeatherType:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">integer</span>
<span class="hljs-attr"> format:</span> <span class="hljs-string">int32</span>
<span class="hljs-attr"> enum:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-number">42</span>
<span class="hljs-bullet"> -</span> <span class="hljs-number">18</span>
<span class="hljs-bullet"> -</span> <span class="hljs-number">56</span>
<span class="hljs-attr"> x-enum-descriptions:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">'Blue sky'</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">'Slightly overcast'</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">'Take an umbrella with you'</span>
<span class="hljs-attr"> x-enum-varnames:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">Sunny</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">Cloudy</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">Rainy</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">integer</span>
<span class="hljs-attr">format:</span> <span class="hljs-string">int32</span>
<span class="hljs-attr">enum:</span>
<span class="hljs-bullet">-</span> <span class="hljs-number">42</span>
<span class="hljs-bullet">-</span> <span class="hljs-number">18</span>
<span class="hljs-bullet">-</span> <span class="hljs-number">56</span>
<span class="hljs-attr">x-enum-descriptions:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">'Blue sky'</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">'Slightly overcast'</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">'Take an umbrella with you'</span>
<span class="hljs-attr">x-enum-varnames:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">Sunny</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">Cloudy</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">Rainy</span>
</code></pre>
<p>In the example for the integer value <code>42</code>, the description will be <code>Blue sky</code> and the name of the enum item will be <code>Sunny</code> (some generators changes it to <code>SUNNY</code> to respect some coding convention).</p>
<h3><a class="anchor" aria-hidden="true" id="objc"></a><a href="#objc" 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>ObjC</h3>
@ -776,15 +776,15 @@ The order of the items in the list matters: their position is used to group them
<h4><a class="anchor" aria-hidden="true" id="x-accepts"></a><a href="#x-accepts" 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>x-accepts</h4>
<p>A single <code>Accepts</code> value as the Feign API client needs a single value for <code>Accepts</code> header, e.g.</p>
<pre><code class="hljs css language-yaml"><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-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">x-accepts:</span> <span class="hljs-string">application/json</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="x-content-type"></a><a href="#x-content-type" 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>x-content-type</h3>
<p>A single &quot;Content-Type&quot; value as the Feign API client needs a single value for <code>Content-Type</code> header, e.g.</p>
<pre><code class="hljs css language-yaml"><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-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">x-content-type:</span> <span class="hljs-string">application/json</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="rust-server"></a><a href="#rust-server" 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>Rust-server</h3>
@ -792,52 +792,52 @@ The order of the items in the list matters: their position is used to group them
<p>Each response may specify a unique <code>x-responseId</code>. <code>rust-server</code> will use this to name the corresponding enum variant in the code. e.g.</p>
<pre><code class="hljs css language-yaml"><span class="hljs-attr">paths:</span>
<span class="hljs-string">/ping:</span>
<span class="hljs-attr"> get:</span>
<span class="hljs-attr"> responses:</span>
<span class="hljs-number">200</span><span class="hljs-string">:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">OK</span>
<span class="hljs-attr"> x-responseId:</span> <span class="hljs-string">Pong</span>
<span class="hljs-attr">get:</span>
<span class="hljs-attr">responses:</span>
<span class="hljs-attr">200:</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">OK</span>
<span class="hljs-attr">x-responseId:</span> <span class="hljs-string">Pong</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="mysql-schema"></a><a href="#mysql-schema" 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>MySQL Schema</h3>
<h4><a class="anchor" aria-hidden="true" id="x-mysqlschema"></a><a href="#x-mysqlschema" 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>x-mysqlSchema</h4>
<p>MySQL schema generator creates vendor extensions based on openapi <code>dataType</code> and <code>dataFormat</code>. When user defined extensions with same key already exists codegen accepts those as is. It means it won't validate properties or correct it for you. Every model in <code>definitions</code> can contain table related and column related extensions like in example below:</p>
<pre><code class="hljs css language-yaml"><span class="hljs-attr">definitions:</span>
<span class="hljs-attr"> Order:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">This</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">most</span> <span class="hljs-string">common</span> <span class="hljs-string">InnoDB</span> <span class="hljs-string">table</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">object</span>
<span class="hljs-attr"> properties:</span>
<span class="hljs-attr"> id:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">&gt;-</span>
<span class="hljs-string">This</span> <span class="hljs-string">column</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">unsigned</span> <span class="hljs-string">BIGINT</span> <span class="hljs-string">with</span> <span class="hljs-string">AUTO_INCREMENT</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">integer</span>
<span class="hljs-attr"> format:</span> <span class="hljs-string">int64</span>
<span class="hljs-attr"> x-mysqlSchema:</span>
<span class="hljs-attr"> columnDefinition:</span>
<span class="hljs-attr"> colName:</span> <span class="hljs-string">id</span>
<span class="hljs-attr"> colDataType:</span> <span class="hljs-string">DECIMAL</span>
<span class="hljs-attr"> colDataTypeArguments:</span>
<span class="hljs-attr"> - argumentValue:</span> <span class="hljs-number">16</span>
<span class="hljs-attr"> isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> hasMore:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr"> - argumentValue:</span> <span class="hljs-number">4</span>
<span class="hljs-attr"> isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> hasMore:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> colUnsigned:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr"> colNotNull:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr"> colDefault:</span>
<span class="hljs-attr"> defaultValue:</span> <span class="hljs-string">AUTO_INCREMENT</span>
<span class="hljs-attr"> isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> isNumeric:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> isKeyword:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr"> colComment:</span> <span class="hljs-string">&gt;-</span>
<span class="hljs-string">Column</span> <span class="hljs-string">comment.</span> <span class="hljs-string">This</span> <span class="hljs-string">column</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">unsigned</span> <span class="hljs-string">BIGINT</span> <span class="hljs-string">with</span> <span class="hljs-string">AUTO_INCREMENT</span>
<span class="hljs-attr"> x-mysqlSchema:</span>
<span class="hljs-attr"> tableDefinition:</span>
<span class="hljs-attr"> tblName:</span> <span class="hljs-string">orders</span>
<span class="hljs-attr"> tblStorageEngine:</span> <span class="hljs-string">InnoDB</span>
<span class="hljs-attr"> tblComment:</span> <span class="hljs-string">&gt;-</span>
<span class="hljs-string">Table</span> <span class="hljs-string">comment.</span> <span class="hljs-string">This</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">most</span> <span class="hljs-string">common</span> <span class="hljs-string">InnoDB</span> <span class="hljs-string">table</span>
</code></pre>
<span class="hljs-attr">Order:</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">This</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">most</span> <span class="hljs-string">common</span> <span class="hljs-string">InnoDB</span> <span class="hljs-string">table</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">object</span>
<span class="hljs-attr">properties:</span>
<span class="hljs-attr">id:</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">&gt;-
This column should be unsigned BIGINT with AUTO_INCREMENT
</span> <span class="hljs-attr">type:</span> <span class="hljs-string">integer</span>
<span class="hljs-attr">format:</span> <span class="hljs-string">int64</span>
<span class="hljs-attr">x-mysqlSchema:</span>
<span class="hljs-attr">columnDefinition:</span>
<span class="hljs-attr">colName:</span> <span class="hljs-string">id</span>
<span class="hljs-attr">colDataType:</span> <span class="hljs-string">DECIMAL</span>
<span class="hljs-attr">colDataTypeArguments:</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">argumentValue:</span> <span class="hljs-number">16</span>
<span class="hljs-attr">isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">hasMore:</span> <span class="hljs-literal">true</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">argumentValue:</span> <span class="hljs-number">4</span>
<span class="hljs-attr">isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">hasMore:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">colUnsigned:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">colNotNull:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">colDefault:</span>
<span class="hljs-attr">defaultValue:</span> <span class="hljs-string">AUTO_INCREMENT</span>
<span class="hljs-attr">isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">isNumeric:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">isKeyword:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">colComment:</span> <span class="hljs-string">&gt;-
Column comment. This column should be unsigned BIGINT with AUTO_INCREMENT
</span> <span class="hljs-attr">x-mysqlSchema:</span>
<span class="hljs-attr">tableDefinition:</span>
<span class="hljs-attr">tblName:</span> <span class="hljs-string">orders</span>
<span class="hljs-attr">tblStorageEngine:</span> <span class="hljs-string">InnoDB</span>
<span class="hljs-attr">tblComment:</span> <span class="hljs-string">&gt;-
Table comment. This should be most common InnoDB table
</span></code></pre>
<blockquote>
<p>There are properties that are not implemented by now(<code>tblStorageEngine</code>), but you can see how generator can be enhanced in future.</p>
</blockquote>
@ -846,8 +846,8 @@ The order of the items in the list matters: their position is used to group them
For more details on Mustache see <a href="https://mustache.github.io/mustache.5.html">mustache.5</a>. See also <a href="https://github.com/samskivert/jmustache">samskivert/jmustache</a> for implementation-specific details.</p>
<h3><a class="anchor" aria-hidden="true" id="first-last"></a><a href="#first-last" 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>First/Last</h3>
<p>To access the first or last element in a list using Mustache:</p>
<pre><code class="hljs css language-mustache"><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">-first</span>}}</span><span class="xml"> this is the first element </span><span class="hljs-template-variable">{{.}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/<span class="hljs-name">-first</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">-last</span>}}</span><span class="xml"> this is the last element </span><span class="hljs-template-variable">{{.}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/<span class="hljs-name">-last</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
<pre><code class="hljs css language-mustache"><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="hljs-template-tag">{{#-<span class="hljs-name">first</span>}}</span><span class="xml"> this is the first element </span><span class="hljs-template-variable">{{.}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/-<span class="hljs-name">first</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="hljs-template-tag">{{#-<span class="hljs-name">last</span>}}</span><span class="xml"> this is the last element </span><span class="hljs-template-variable">{{.}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/-<span class="hljs-name">last</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
</span></code></pre>
<h3><a class="anchor" aria-hidden="true" id="this"></a><a href="#this" 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>This</h3>
<p>Mustache evaluates template variables contextually. If the variable isn't found in the immediate object, mustache will search the parent. This is similar to JavaScript's prototype object (if you're familiar with the concept).</p>

View File

@ -352,7 +352,7 @@ Download https://jcenter.bintray.com/com/jcabi/jcabi-aspects/0.22.6/jcabi-aspect
}
</code></pre>
<p>Lastly, create a file <code>resources/META-INF/services/org.openapitools.codegen.api.TemplatingEngineAdapter</code>, containing the full class path to the above class:</p>
<pre><code class="hljs">org<span class="hljs-selector-class">.openapitools</span><span class="hljs-selector-class">.examples</span><span class="hljs-selector-class">.templating</span><span class="hljs-selector-class">.PebbleTemplateAdapter</span>
<pre><code class="hljs"><span class="hljs-selector-tag">org</span><span class="hljs-selector-class">.openapitools</span><span class="hljs-selector-class">.examples</span><span class="hljs-selector-class">.templating</span><span class="hljs-selector-class">.PebbleTemplateAdapter</span>
</code></pre>
<p>This allows the adapter to load via ServiceLoader, and to be referenced via the identifier <code>pebble</code>. This is optional; if you don't provide the above file and contents, you'll only be able to load the engine via full class name (explained in a bit).</p>
<p>Now, build the fatjar for this new adapter:</p>
@ -380,11 +380,11 @@ type Generated</span><span class="hljs-template-variable">{{classname}}</span><s
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> item.isEnum %}</span><span class="xml">
// TODO: enum
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">else</span></span> %}</span><span class="xml">
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> item.description is not empty %}</span><span class="xml">// </span><span class="hljs-template-variable">{{item.description}}</span><span class="xml"></span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> item.description is not empty %}</span><span class="xml">// </span><span class="hljs-template-variable">{{item.description}}</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
type </span><span class="hljs-template-variable">{{item.classname}}</span><span class="xml"> struct {
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">for</span></span> var <span class="hljs-keyword">in</span> item.model.vars %}</span><span class="xml">
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.description is not empty %}</span><span class="xml">// </span><span class="hljs-template-variable">{{var.description}}</span><span class="xml"></span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
</span><span class="hljs-template-variable">{{var.name}}</span><span class="xml"> </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.isNullable %}</span><span class="xml">*</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml"></span><span class="hljs-template-variable">{{var.dataType}}</span><span class="xml"> `json:"</span><span class="hljs-template-variable">{{var.baseName}}</span><span class="xml"></span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.required == false %}</span><span class="xml">,omitempty</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">"</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.withXml == true %}</span><span class="xml"> xml:"</span><span class="hljs-template-variable">{{var.baseName}}</span><span class="xml"></span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.isXmlAttribute %}</span><span class="xml">,attr</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">"</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">`
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.description is not empty %}</span><span class="xml">// </span><span class="hljs-template-variable">{{var.description}}</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
</span><span class="hljs-template-variable">{{var.name}}</span><span class="xml"> </span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.isNullable %}</span><span class="xml">*</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="hljs-template-variable">{{var.dataType}}</span><span class="xml"> `json:"</span><span class="hljs-template-variable">{{var.baseName}}</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.required == false %}</span><span class="xml">,omitempty</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">"</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.withXml == true %}</span><span class="xml"> xml:"</span><span class="hljs-template-variable">{{var.baseName}}</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">if</span></span> var.isXmlAttribute %}</span><span class="xml">,attr</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">"</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">`
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endfor</span></span> %}</span><span class="xml">
}
</span><span class="hljs-template-tag">{% <span class="hljs-name"><span class="hljs-name">endif</span></span> %}</span><span class="xml">
@ -410,51 +410,51 @@ type </span><span class="hljs-template-variable">{{item.classname}}</span><span
<h2><a class="anchor" aria-hidden="true" id="structures"></a><a href="#structures" 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>Structures</h2>
<p>Aside from transforming an API document, the implementing class gets to decide how to apply the data structure to templates. We can decide which data structure to apply to which template files. You have the following structures at your disposal.</p>
<p>Examples for the following structures will be presented using the following spec document:</p>
<pre><code class="hljs css language-yaml"><span class="hljs-attr"> swagger:</span> <span class="hljs-string">"2.0"</span>
<span class="hljs-attr"> info:</span>
<span class="hljs-attr"> version:</span> <span class="hljs-string">"1.0.0"</span>
<span class="hljs-attr"> title:</span> <span class="hljs-string">"Swagger Petstore"</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification"</span>
<span class="hljs-attr"> termsOfService:</span> <span class="hljs-string">"http://swagger.io/terms/"</span>
<span class="hljs-attr"> contact:</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">"Swagger API Team"</span>
<span class="hljs-attr"> license:</span>
<span class="hljs-attr"> name:</span> <span class="hljs-string">"MIT"</span>
<span class="hljs-attr"> host:</span> <span class="hljs-string">"petstore.swagger.io"</span>
<span class="hljs-attr"> basePath:</span> <span class="hljs-string">"/api"</span>
<span class="hljs-attr"> schemes:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"http"</span>
<span class="hljs-attr"> consumes:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr"> produces:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr"> paths:</span>
<pre><code class="hljs css language-yaml"> <span class="hljs-attr">swagger:</span> <span class="hljs-string">"2.0"</span>
<span class="hljs-attr">info:</span>
<span class="hljs-attr">version:</span> <span class="hljs-string">"1.0.0"</span>
<span class="hljs-attr">title:</span> <span class="hljs-string">"Swagger Petstore"</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">"A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification"</span>
<span class="hljs-attr">termsOfService:</span> <span class="hljs-string">"http://swagger.io/terms/"</span>
<span class="hljs-attr">contact:</span>
<span class="hljs-attr">name:</span> <span class="hljs-string">"Swagger API Team"</span>
<span class="hljs-attr">license:</span>
<span class="hljs-attr">name:</span> <span class="hljs-string">"MIT"</span>
<span class="hljs-attr">host:</span> <span class="hljs-string">"petstore.swagger.io"</span>
<span class="hljs-attr">basePath:</span> <span class="hljs-string">"/api"</span>
<span class="hljs-attr">schemes:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"http"</span>
<span class="hljs-attr">consumes:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr">produces:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr">paths:</span>
<span class="hljs-string">/pets:</span>
<span class="hljs-attr"> get:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">"Returns all pets from the system that the user has access to"</span>
<span class="hljs-attr"> produces:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr"> responses:</span>
<span class="hljs-string">"200"</span><span class="hljs-string">:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">"A list of pets."</span>
<span class="hljs-attr"> schema:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"array"</span>
<span class="hljs-attr"> items:</span>
<span class="hljs-attr">get:</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">"Returns all pets from the system that the user has access to"</span>
<span class="hljs-attr">produces:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"application/json"</span>
<span class="hljs-attr">responses:</span>
<span class="hljs-attr">"200":</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">"A list of pets."</span>
<span class="hljs-attr">schema:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"array"</span>
<span class="hljs-attr">items:</span>
<span class="hljs-string">$ref:</span> <span class="hljs-string">"#/definitions/Pet"</span>
<span class="hljs-attr"> definitions:</span>
<span class="hljs-attr"> Pet:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"object"</span>
<span class="hljs-attr"> required:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"id"</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">"name"</span>
<span class="hljs-attr"> properties:</span>
<span class="hljs-attr"> id:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"integer"</span>
<span class="hljs-attr"> format:</span> <span class="hljs-string">"int64"</span>
<span class="hljs-attr"> name:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"string"</span>
<span class="hljs-attr"> tag:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">"string"</span>
<span class="hljs-attr">definitions:</span>
<span class="hljs-attr">Pet:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"object"</span>
<span class="hljs-attr">required:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"id"</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">"name"</span>
<span class="hljs-attr">properties:</span>
<span class="hljs-attr">id:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"integer"</span>
<span class="hljs-attr">format:</span> <span class="hljs-string">"int64"</span>
<span class="hljs-attr">name:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"string"</span>
<span class="hljs-attr">tag:</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">"string"</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="operations"></a><a href="#operations" 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>Operations</h3>
@ -660,11 +660,11 @@ apiTemplateFiles.put(<span class="hljs-string">"api-body.mustache"</span>, <span
<span class="hljs-attr">"datatype"</span> : <span class="hljs-string">"string"</span>,
<span class="hljs-attr">"iexclusiveMaximum"</span> : <span class="hljs-literal">false</span>
} ],
<span class="hljs-attr">"requiredVars"</span> : [ /* id, name */ ],
<span class="hljs-attr">"optionalVars"</span> : [ /* tag */ ],
<span class="hljs-attr">"requiredVars"</span> : [ <span class="hljs-comment">/* id, name */</span> ],
<span class="hljs-attr">"optionalVars"</span> : [ <span class="hljs-comment">/* tag */</span> ],
<span class="hljs-attr">"readOnlyVars"</span> : [ ],
<span class="hljs-attr">"readWriteVars"</span> : [ /* lists metadata for all three properties */ ],
<span class="hljs-attr">"allVars"</span> : [ /* lists all properties */],
<span class="hljs-attr">"readWriteVars"</span> : [ <span class="hljs-comment">/* lists metadata for all three properties */</span> ],
<span class="hljs-attr">"allVars"</span> : [ <span class="hljs-comment">/* lists all properties */</span>],
<span class="hljs-attr">"parentVars"</span> : [ ],
<span class="hljs-attr">"mandatory"</span> : [ <span class="hljs-string">"id"</span>, <span class="hljs-string">"name"</span> ],
<span class="hljs-attr">"allMandatory"</span> : [ <span class="hljs-string">"id"</span>, <span class="hljs-string">"name"</span> ],
@ -748,20 +748,20 @@ This is used for comments in the code (like javadoc if the target language is ja
The order of the items in the list matters: their position is used to group them together.</p>
<p>Example:</p>
<pre><code class="hljs css language-yaml"><span class="hljs-attr">WeatherType:</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">integer</span>
<span class="hljs-attr"> format:</span> <span class="hljs-string">int32</span>
<span class="hljs-attr"> enum:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-number">42</span>
<span class="hljs-bullet"> -</span> <span class="hljs-number">18</span>
<span class="hljs-bullet"> -</span> <span class="hljs-number">56</span>
<span class="hljs-attr"> x-enum-descriptions:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">'Blue sky'</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">'Slightly overcast'</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">'Take an umbrella with you'</span>
<span class="hljs-attr"> x-enum-varnames:</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">Sunny</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">Cloudy</span>
<span class="hljs-bullet"> -</span> <span class="hljs-string">Rainy</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">integer</span>
<span class="hljs-attr">format:</span> <span class="hljs-string">int32</span>
<span class="hljs-attr">enum:</span>
<span class="hljs-bullet">-</span> <span class="hljs-number">42</span>
<span class="hljs-bullet">-</span> <span class="hljs-number">18</span>
<span class="hljs-bullet">-</span> <span class="hljs-number">56</span>
<span class="hljs-attr">x-enum-descriptions:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">'Blue sky'</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">'Slightly overcast'</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">'Take an umbrella with you'</span>
<span class="hljs-attr">x-enum-varnames:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">Sunny</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">Cloudy</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">Rainy</span>
</code></pre>
<p>In the example for the integer value <code>42</code>, the description will be <code>Blue sky</code> and the name of the enum item will be <code>Sunny</code> (some generators changes it to <code>SUNNY</code> to respect some coding convention).</p>
<h3><a class="anchor" aria-hidden="true" id="objc"></a><a href="#objc" 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>ObjC</h3>
@ -776,15 +776,15 @@ The order of the items in the list matters: their position is used to group them
<h4><a class="anchor" aria-hidden="true" id="x-accepts"></a><a href="#x-accepts" 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>x-accepts</h4>
<p>A single <code>Accepts</code> value as the Feign API client needs a single value for <code>Accepts</code> header, e.g.</p>
<pre><code class="hljs css language-yaml"><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-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">x-accepts:</span> <span class="hljs-string">application/json</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="x-content-type"></a><a href="#x-content-type" 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>x-content-type</h3>
<p>A single &quot;Content-Type&quot; value as the Feign API client needs a single value for <code>Content-Type</code> header, e.g.</p>
<pre><code class="hljs css language-yaml"><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-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">x-content-type:</span> <span class="hljs-string">application/json</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="rust-server"></a><a href="#rust-server" 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>Rust-server</h3>
@ -792,52 +792,52 @@ The order of the items in the list matters: their position is used to group them
<p>Each response may specify a unique <code>x-responseId</code>. <code>rust-server</code> will use this to name the corresponding enum variant in the code. e.g.</p>
<pre><code class="hljs css language-yaml"><span class="hljs-attr">paths:</span>
<span class="hljs-string">/ping:</span>
<span class="hljs-attr"> get:</span>
<span class="hljs-attr"> responses:</span>
<span class="hljs-number">200</span><span class="hljs-string">:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">OK</span>
<span class="hljs-attr"> x-responseId:</span> <span class="hljs-string">Pong</span>
<span class="hljs-attr">get:</span>
<span class="hljs-attr">responses:</span>
<span class="hljs-attr">200:</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">OK</span>
<span class="hljs-attr">x-responseId:</span> <span class="hljs-string">Pong</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="mysql-schema"></a><a href="#mysql-schema" 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>MySQL Schema</h3>
<h4><a class="anchor" aria-hidden="true" id="x-mysqlschema"></a><a href="#x-mysqlschema" 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>x-mysqlSchema</h4>
<p>MySQL schema generator creates vendor extensions based on openapi <code>dataType</code> and <code>dataFormat</code>. When user defined extensions with same key already exists codegen accepts those as is. It means it won't validate properties or correct it for you. Every model in <code>definitions</code> can contain table related and column related extensions like in example below:</p>
<pre><code class="hljs css language-yaml"><span class="hljs-attr">definitions:</span>
<span class="hljs-attr"> Order:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">This</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">most</span> <span class="hljs-string">common</span> <span class="hljs-string">InnoDB</span> <span class="hljs-string">table</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">object</span>
<span class="hljs-attr"> properties:</span>
<span class="hljs-attr"> id:</span>
<span class="hljs-attr"> description:</span> <span class="hljs-string">&gt;-</span>
<span class="hljs-string">This</span> <span class="hljs-string">column</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">unsigned</span> <span class="hljs-string">BIGINT</span> <span class="hljs-string">with</span> <span class="hljs-string">AUTO_INCREMENT</span>
<span class="hljs-attr"> type:</span> <span class="hljs-string">integer</span>
<span class="hljs-attr"> format:</span> <span class="hljs-string">int64</span>
<span class="hljs-attr"> x-mysqlSchema:</span>
<span class="hljs-attr"> columnDefinition:</span>
<span class="hljs-attr"> colName:</span> <span class="hljs-string">id</span>
<span class="hljs-attr"> colDataType:</span> <span class="hljs-string">DECIMAL</span>
<span class="hljs-attr"> colDataTypeArguments:</span>
<span class="hljs-attr"> - argumentValue:</span> <span class="hljs-number">16</span>
<span class="hljs-attr"> isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> hasMore:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr"> - argumentValue:</span> <span class="hljs-number">4</span>
<span class="hljs-attr"> isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> hasMore:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> colUnsigned:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr"> colNotNull:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr"> colDefault:</span>
<span class="hljs-attr"> defaultValue:</span> <span class="hljs-string">AUTO_INCREMENT</span>
<span class="hljs-attr"> isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> isNumeric:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr"> isKeyword:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr"> colComment:</span> <span class="hljs-string">&gt;-</span>
<span class="hljs-string">Column</span> <span class="hljs-string">comment.</span> <span class="hljs-string">This</span> <span class="hljs-string">column</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">unsigned</span> <span class="hljs-string">BIGINT</span> <span class="hljs-string">with</span> <span class="hljs-string">AUTO_INCREMENT</span>
<span class="hljs-attr"> x-mysqlSchema:</span>
<span class="hljs-attr"> tableDefinition:</span>
<span class="hljs-attr"> tblName:</span> <span class="hljs-string">orders</span>
<span class="hljs-attr"> tblStorageEngine:</span> <span class="hljs-string">InnoDB</span>
<span class="hljs-attr"> tblComment:</span> <span class="hljs-string">&gt;-</span>
<span class="hljs-string">Table</span> <span class="hljs-string">comment.</span> <span class="hljs-string">This</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">most</span> <span class="hljs-string">common</span> <span class="hljs-string">InnoDB</span> <span class="hljs-string">table</span>
</code></pre>
<span class="hljs-attr">Order:</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">This</span> <span class="hljs-string">should</span> <span class="hljs-string">be</span> <span class="hljs-string">most</span> <span class="hljs-string">common</span> <span class="hljs-string">InnoDB</span> <span class="hljs-string">table</span>
<span class="hljs-attr">type:</span> <span class="hljs-string">object</span>
<span class="hljs-attr">properties:</span>
<span class="hljs-attr">id:</span>
<span class="hljs-attr">description:</span> <span class="hljs-string">&gt;-
This column should be unsigned BIGINT with AUTO_INCREMENT
</span> <span class="hljs-attr">type:</span> <span class="hljs-string">integer</span>
<span class="hljs-attr">format:</span> <span class="hljs-string">int64</span>
<span class="hljs-attr">x-mysqlSchema:</span>
<span class="hljs-attr">columnDefinition:</span>
<span class="hljs-attr">colName:</span> <span class="hljs-string">id</span>
<span class="hljs-attr">colDataType:</span> <span class="hljs-string">DECIMAL</span>
<span class="hljs-attr">colDataTypeArguments:</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">argumentValue:</span> <span class="hljs-number">16</span>
<span class="hljs-attr">isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">hasMore:</span> <span class="hljs-literal">true</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">argumentValue:</span> <span class="hljs-number">4</span>
<span class="hljs-attr">isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">hasMore:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">colUnsigned:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">colNotNull:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">colDefault:</span>
<span class="hljs-attr">defaultValue:</span> <span class="hljs-string">AUTO_INCREMENT</span>
<span class="hljs-attr">isString:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">isNumeric:</span> <span class="hljs-literal">false</span>
<span class="hljs-attr">isKeyword:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">colComment:</span> <span class="hljs-string">&gt;-
Column comment. This column should be unsigned BIGINT with AUTO_INCREMENT
</span> <span class="hljs-attr">x-mysqlSchema:</span>
<span class="hljs-attr">tableDefinition:</span>
<span class="hljs-attr">tblName:</span> <span class="hljs-string">orders</span>
<span class="hljs-attr">tblStorageEngine:</span> <span class="hljs-string">InnoDB</span>
<span class="hljs-attr">tblComment:</span> <span class="hljs-string">&gt;-
Table comment. This should be most common InnoDB table
</span></code></pre>
<blockquote>
<p>There are properties that are not implemented by now(<code>tblStorageEngine</code>), but you can see how generator can be enhanced in future.</p>
</blockquote>
@ -846,8 +846,8 @@ The order of the items in the list matters: their position is used to group them
For more details on Mustache see <a href="https://mustache.github.io/mustache.5.html">mustache.5</a>. See also <a href="https://github.com/samskivert/jmustache">samskivert/jmustache</a> for implementation-specific details.</p>
<h3><a class="anchor" aria-hidden="true" id="first-last"></a><a href="#first-last" 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>First/Last</h3>
<p>To access the first or last element in a list using Mustache:</p>
<pre><code class="hljs css language-mustache"><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">-first</span>}}</span><span class="xml"> this is the first element </span><span class="hljs-template-variable">{{.}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/<span class="hljs-name">-first</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{#<span class="hljs-name">-last</span>}}</span><span class="xml"> this is the last element </span><span class="hljs-template-variable">{{.}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/<span class="hljs-name">-last</span>}}</span><span class="xml"></span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
<pre><code class="hljs css language-mustache"><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="hljs-template-tag">{{#-<span class="hljs-name">first</span>}}</span><span class="xml"> this is the first element </span><span class="hljs-template-variable">{{.}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/-<span class="hljs-name">first</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
</span><span class="hljs-template-tag">{{#<span class="hljs-name">vars</span>}}</span><span class="hljs-template-tag">{{#-<span class="hljs-name">last</span>}}</span><span class="xml"> this is the last element </span><span class="hljs-template-variable">{{.}}</span><span class="xml"> </span><span class="hljs-template-tag">{{/-<span class="hljs-name">last</span>}}</span><span class="hljs-template-tag">{{/<span class="hljs-name">vars</span>}}</span><span class="xml">
</span></code></pre>
<h3><a class="anchor" aria-hidden="true" id="this"></a><a href="#this" 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>This</h3>
<p>Mustache evaluates template variables contextually. If the variable isn't found in the immediate object, mustache will search the parent. This is similar to JavaScript's prototype object (if you're familiar with the concept).</p>