add title, description to HTML output (#3860)

* add schema title, description to HTML output

* Include title, description in petstore sample (and HTML output)
This commit is contained in:
David Biesack 2016-09-23 23:14:36 -04:00 committed by wing328
parent b2344e10cb
commit fedb0cc352
5 changed files with 31 additions and 8 deletions

View File

@ -18,7 +18,7 @@ public class CodegenModel {
public CodegenModel parentModel; public CodegenModel parentModel;
public List<CodegenModel> interfaceModels; public List<CodegenModel> interfaceModels;
public String name, classname, description, classVarName, modelJson, dataType; public String name, classname, title, description, classVarName, modelJson, dataType;
public String classFilename; // store the class file name, mainly used for import public String classFilename; // store the class file name, mainly used for import
public String unescapedDescription; public String unescapedDescription;
public String discriminator; public String discriminator;
@ -80,6 +80,8 @@ public class CodegenModel {
return false; return false;
if (classname != null ? !classname.equals(that.classname) : that.classname != null) if (classname != null ? !classname.equals(that.classname) : that.classname != null)
return false; return false;
if (title != null ? !title.equals(that.title) : that.title != null)
return false;
if (description != null ? !description.equals(that.description) : that.description != null) if (description != null ? !description.equals(that.description) : that.description != null)
return false; return false;
if (classVarName != null ? !classVarName.equals(that.classVarName) : that.classVarName != null) if (classVarName != null ? !classVarName.equals(that.classVarName) : that.classVarName != null)
@ -143,6 +145,7 @@ public class CodegenModel {
result = 31 * result + (interfaceModels != null ? interfaceModels.hashCode() : 0); result = 31 * result + (interfaceModels != null ? interfaceModels.hashCode() : 0);
result = 31 * result + (name != null ? name.hashCode() : 0); result = 31 * result + (name != null ? name.hashCode() : 0);
result = 31 * result + (classname != null ? classname.hashCode() : 0); result = 31 * result + (classname != null ? classname.hashCode() : 0);
result = 31 * result + (title != null ? title.hashCode() : 0);
result = 31 * result + (description != null ? description.hashCode() : 0); result = 31 * result + (description != null ? description.hashCode() : 0);
result = 31 * result + (classVarName != null ? classVarName.hashCode() : 0); result = 31 * result + (classVarName != null ? classVarName.hashCode() : 0);
result = 31 * result + (modelJson != null ? modelJson.hashCode() : 0); result = 31 * result + (modelJson != null ? modelJson.hashCode() : 0);

View File

@ -1205,6 +1205,7 @@ public class DefaultCodegen {
} else { } else {
m.name = name; m.name = name;
} }
m.title = escapeText(model.getTitle());
m.description = escapeText(model.getDescription()); m.description = escapeText(model.getDescription());
m.unescapedDescription = model.getDescription(); m.unescapedDescription = model.getDescription();
m.classname = toModelName(name); m.classname = toModelName(name);

View File

@ -162,7 +162,8 @@
{{#models}} {{#models}}
{{#model}} {{#model}}
<div class="model"> <div class="model">
<h3 class="field-label"><a name="{{name}}">{{name}}</a> <a class="up" href="#__Models">Up</a></h3> <h3 class="field-label"><a name="{{name}}">{{name}} - {{title}}</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>{{description}}</div>
<div class="field-items"> <div class="field-items">
{{#vars}}<div class="param">{{name}} {{^required}}(optional){{/required}}</div><div class="param-desc"><span class="param-type">{{^isPrimitiveType}}<a href="#{{complexType}}">{{datatype}}</a>{{/isPrimitiveType}}</span> {{description}} {{#dataFormat}}format: {{{dataFormat}}}{{/dataFormat}}</div> {{#vars}}<div class="param">{{name}} {{^required}}(optional){{/required}}</div><div class="param-desc"><span class="param-type">{{^isPrimitiveType}}<a href="#{{complexType}}">{{datatype}}</a>{{/isPrimitiveType}}</span> {{description}} {{#dataFormat}}format: {{{dataFormat}}}{{/dataFormat}}</div>
{{#isEnum}} {{#isEnum}}

View File

@ -573,6 +573,8 @@ securityDefinitions:
in: header in: header
definitions: definitions:
Order: Order:
title: Pet Order
description: An order for a pets from the pet store
type: object type: object
properties: properties:
id: id:
@ -600,6 +602,8 @@ definitions:
xml: xml:
name: Order name: Order
Category: Category:
title: Pet catehgry
description: A category for a pet
type: object type: object
properties: properties:
id: id:
@ -610,6 +614,8 @@ definitions:
xml: xml:
name: Category name: Category
User: User:
title: a User
description: A User who is purchasing from the pet store
type: object type: object
properties: properties:
id: id:
@ -634,6 +640,8 @@ definitions:
xml: xml:
name: User name: User
Tag: Tag:
title: Pet Tag
description: A tag for a pet
type: object type: object
properties: properties:
id: id:
@ -644,6 +652,8 @@ definitions:
xml: xml:
name: Tag name: Tag
Pet: Pet:
title: a Pet
description: A pet for sale in the pet store
type: object type: object
required: required:
- name - name
@ -681,6 +691,8 @@ definitions:
xml: xml:
name: Pet name: Pet
ApiResponse: ApiResponse:
title: An uploaded response
description: Describes the result of uploading an image resource
type: object type: object
properties: properties:
code: code:

View File

@ -1265,7 +1265,8 @@ font-style: italic;
</ol> </ol>
<div class="model"> <div class="model">
<h3 class="field-label"><a name="ApiResponse">ApiResponse</a> <a class="up" href="#__Models">Up</a></h3> <h3 class="field-label"><a name="ApiResponse">ApiResponse - An uploaded response</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>Describes the result of uploading an image resource</div>
<div class="field-items"> <div class="field-items">
<div class="param">code (optional)</div><div class="param-desc"><span class="param-type"><a href="#integer">Integer</a></span> format: int32</div> <div class="param">code (optional)</div><div class="param-desc"><span class="param-type"><a href="#integer">Integer</a></span> format: int32</div>
<div class="param">type (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div> <div class="param">type (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
@ -1273,14 +1274,16 @@ font-style: italic;
</div> <!-- field-items --> </div> <!-- field-items -->
</div> </div>
<div class="model"> <div class="model">
<h3 class="field-label"><a name="Category">Category</a> <a class="up" href="#__Models">Up</a></h3> <h3 class="field-label"><a name="Category">Category - Pet catehory</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>A category for a pet</div>
<div class="field-items"> <div class="field-items">
<div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div> <div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div>
<div class="param">name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div> <div class="param">name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
</div> <!-- field-items --> </div> <!-- field-items -->
</div> </div>
<div class="model"> <div class="model">
<h3 class="field-label"><a name="Order">Order</a> <a class="up" href="#__Models">Up</a></h3> <h3 class="field-label"><a name="Order">Order - Pet Order</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>An order for a pets from the pet store</div>
<div class="field-items"> <div class="field-items">
<div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div> <div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div>
<div class="param">petId (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div> <div class="param">petId (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div>
@ -1293,7 +1296,8 @@ font-style: italic;
</div> <!-- field-items --> </div> <!-- field-items -->
</div> </div>
<div class="model"> <div class="model">
<h3 class="field-label"><a name="Pet">Pet</a> <a class="up" href="#__Models">Up</a></h3> <h3 class="field-label"><a name="Pet">Pet - a Pet</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>A pet for sale in the pet store</div>
<div class="field-items"> <div class="field-items">
<div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div> <div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div>
<div class="param">category (optional)</div><div class="param-desc"><span class="param-type"><a href="#Category">Category</a></span> </div> <div class="param">category (optional)</div><div class="param-desc"><span class="param-type"><a href="#Category">Category</a></span> </div>
@ -1306,14 +1310,16 @@ font-style: italic;
</div> <!-- field-items --> </div> <!-- field-items -->
</div> </div>
<div class="model"> <div class="model">
<h3 class="field-label"><a name="Tag">Tag</a> <a class="up" href="#__Models">Up</a></h3> <h3 class="field-label"><a name="Tag">Tag - Pet Tag</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>A tag for a pet</div>
<div class="field-items"> <div class="field-items">
<div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div> <div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div>
<div class="param">name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div> <div class="param">name (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>
</div> <!-- field-items --> </div> <!-- field-items -->
</div> </div>
<div class="model"> <div class="model">
<h3 class="field-label"><a name="User">User</a> <a class="up" href="#__Models">Up</a></h3> <h3 class="field-label"><a name="User">User - a User</a> <a class="up" href="#__Models">Up</a></h3>
<div class='model-description'>A User who is purchasing from the pet store</div>
<div class="field-items"> <div class="field-items">
<div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div> <div class="param">id (optional)</div><div class="param-desc"><span class="param-type"><a href="#long">Long</a></span> format: int64</div>
<div class="param">username (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div> <div class="param">username (optional)</div><div class="param-desc"><span class="param-type"><a href="#string">String</a></span> </div>