Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Commit 99078c9

Browse files
authored
v2 improves params documentation (#139)
* Adds python type info to inline param schema docs * Updates endpoint docs for param content schema input type * Updates ref param endpoint docs * Makes it clear that params are of type dict * Adds hppt status prefix to code, mentions server_index_info * Removes trailing comma from accessed type * Fixes enum descriptions * Fixes broken template references in api_configuration * Include python types in property input types with ref classes * Fixes input types for dict keys * Adds missing comma * Adds new type hints for ref properties * Updates new sig for array models with ref items * Adds body primitive types to endpoint inputs * Adds missing commas * Fixes endpoint doc links for inline request bodies * Fixes endpoint docs inline request body types * Adds request body type info when the request body is refed * Endpoint reqest body docs adds type hints for ref request bodies * Removes template _helper_operation_args_baseapi_wrapper * Removes template _helper_operation_args_operationid_wrapper * Removes _helper_operation_args_httpmethod_wrapper * Uses jsonPathPiece.snakeCase for response module names in operation responses * Adds getNonErrorResponses for the templates, removes unnecessare unions * Fixes endpoint doc link to api * Removes recordUsage * Adds prefix to response bodies * Removes includeSuffix * Improved request body docs describing body * Does not use union for response bodies if there is only one * Endpoint description updated, // TODO adjust this for 3.1.0 * Uses getContentSchemas in operation reuqest body type hints * Reduces template indentation for request body * operation request body type hints now on new lines * Improves operation body type hints, make them newlined * Updates getContentSchemas to return anyType schema early * Fixes response body type hint * Removes unneeded union from response body doc * Improves endpoint docs for ref request body body types * Improves endpoint request body doc type hints, eliminates redundant types * Samples updated
1 parent 4f82adf commit 99078c9

File tree

1,924 files changed

+55729
-11291
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,924 files changed

+55729
-11291
lines changed

modules/openapi-json-schema-generator/src/main/java/org/openapijsonschematools/codegen/model/CodegenOperation.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,42 @@ public CodegenOperation(Boolean deprecated, boolean hasErrorResponseObject, Stri
8080
this.jsonPathPiece = jsonPathPiece;
8181
}
8282

83+
// used by operation templates
84+
public Map<String, CodegenResponse> getNonErrorResponses() {
85+
HashMap<String,CodegenResponse> nonErrorResponses = new HashMap<>();
86+
if (statusCodeResponses != null) {
87+
for (Map.Entry<Integer, CodegenResponse> entry: statusCodeResponses.entrySet()) {
88+
if (entry.getKey() >= 200 && entry.getKey() <= 299) {
89+
nonErrorResponses.put(entry.getKey().toString(), entry.getValue());
90+
}
91+
}
92+
}
93+
if (wildcardCodeResponses != null) {
94+
for (Map.Entry<Integer, CodegenResponse> entry: wildcardCodeResponses.entrySet()) {
95+
if (entry.getKey() == 2) {
96+
nonErrorResponses.put(entry.getKey().toString(), entry.getValue());
97+
}
98+
}
99+
}
100+
if (defaultResponse != null) {
101+
if (nonErrorResponses.isEmpty()) {
102+
/* default response should be non-error because
103+
The Responses Object MUST contain at least one response code, and if only one response code
104+
is provided it SHOULD be the response for a successful operation call.
105+
*/
106+
nonErrorResponses.put("default", defaultResponse);
107+
} else {
108+
// the code does not know if this is an error response or non-error
109+
// TODO add generation option that specifies it?
110+
nonErrorResponses.put("default", defaultResponse);
111+
}
112+
}
113+
if (nonErrorResponses.isEmpty()) {
114+
return null;
115+
}
116+
return nonErrorResponses;
117+
}
118+
83119
public boolean getAllResponsesAreErrors() {
84120
if (responses.size() == 1 && defaultResponse != null) {
85121
return false;

modules/openapi-json-schema-generator/src/main/java/org/openapijsonschematools/codegen/model/CodegenRequestBody.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package org.openapijsonschematools.codegen.model;
22

3+
import java.util.HashSet;
34
import java.util.LinkedHashMap;
5+
import java.util.LinkedHashSet;
46
import java.util.Map;
57
import java.util.Objects;
8+
import java.util.Set;
69
import java.util.TreeSet;
710

811
/**
@@ -21,6 +24,49 @@ public class CodegenRequestBody {
2124
public final CodegenKey jsonPathPiece;
2225
public final CodegenRefInfo<CodegenRequestBody> refInfo;
2326

27+
/*
28+
A method that returns all content schemas
29+
This only works on the RequestBody that contains a CodegenMediaType with a schema definition
30+
*/
31+
public Set<CodegenSchema> getContentSchemas() {
32+
if (content == null) {
33+
return null;
34+
}
35+
LinkedHashSet<CodegenSchema> schemas = new LinkedHashSet<>();
36+
LinkedHashSet<CodegenSchema> anyTypeSchemas = new LinkedHashSet<>();
37+
for (CodegenMediaType mediaType: content.values()) {
38+
if (mediaType == null) {
39+
continue;
40+
}
41+
if (mediaType.schema == null) {
42+
continue;
43+
}
44+
CodegenSchema schema = new CodegenSchema();
45+
if (mediaType.schema.refInfo != null) {
46+
// TODO adjust this for 3.1.0
47+
// in 3.1.0 ref can be combined with other constraints
48+
// so types and format should come from
49+
// the first schema then, not the deepest ref
50+
CodegenSchema deepest = mediaType.schema.getDeepestRef();
51+
schema.types = deepest.types;
52+
schema.format = deepest.format;
53+
} else {
54+
schema.types = mediaType.schema.types;
55+
schema.format = mediaType.schema.format;
56+
}
57+
if (schema.types == null && schema.format == null) {
58+
// return only anyType if it exists because it covers all use cases
59+
anyTypeSchemas.add(schema);
60+
return anyTypeSchemas;
61+
}
62+
schemas.add(schema);
63+
}
64+
if (schemas.isEmpty()) {
65+
return null;
66+
}
67+
return schemas;
68+
}
69+
2470
public CodegenRequestBody(String description, String unescapedDescription, Map<String, Object> vendorExtensions, Boolean required, LinkedHashMap<CodegenKey, CodegenMediaType> content, TreeSet<String> imports, String componentModule, CodegenKey jsonPathPiece, CodegenRefInfo<CodegenRequestBody> refInfo) {
2571
this.description = description;
2672
this.unescapedDescription = unescapedDescription;

modules/openapi-json-schema-generator/src/main/java/org/openapijsonschematools/codegen/templating/handlebars/CustomHelpers.java

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -86,37 +86,4 @@ public Object apply(final Object context, final Options options) {
8686
return null;
8787
}
8888
},
89-
90-
/**
91-
* gets the anchor identifier suffix
92-
*
93-
*/
94-
getIdentifierSuffix {
95-
@Override
96-
public Object apply(final Object context, final Options options) {
97-
Object b = options.param(0, null);
98-
if (context instanceof HashMap && b instanceof List) {
99-
HashMap<List<String>, Integer> thisContext = (HashMap<List<String>, Integer>) context;
100-
List<String> identifier = getIdentifier((List<?>) b);
101-
int newQty = thisContext.getOrDefault(identifier, -1) + 1;
102-
((HashMap<List<String>, Integer>) context).put(identifier, newQty);
103-
if (newQty == 0) {
104-
return "";
105-
}
106-
return "-"+ newQty;
107-
}
108-
return null;
109-
}
110-
};
111-
private static List<String> getIdentifier(List<?> identifierPieces) {
112-
ArrayList<String> result = new ArrayList<>();
113-
for (Object item: identifierPieces) {
114-
if (item instanceof CodegenKey) {
115-
result.add(((CodegenKey) item).anchorPiece);
116-
} else if (item instanceof String) {
117-
result.add((String) item);
118-
}
119-
}
120-
return Collections.unmodifiableList(result);
121-
}
12289
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#eq types null}}dict, frozendict.frozendict, str, datetime.date, datetime.datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, {{else}}{{#each types}}{{#eq this "array"}}list, tuple, {{/eq}}{{#eq this "object"}}dict, frozendict.frozendict, {{/eq}}{{#eq this "null"}}None, {{/eq}}{{#eq this "string" }}{{#neq ../format "binary"}}str, {{/neq}}{{#eq ../format "date"}}datetime.date, {{/eq}}{{#eq ../format "date-time"}}datetime.datetime, {{/eq}}{{#eq ../format "uuid"}}uuid.UUID, {{/eq}}{{#eq ../format "binary"}}bytes, io.FileIO, io.BufferedReader, {{/eq}}{{/eq}}{{#eq this "integer"}}decimal.Decimal, int, {{/eq}}{{#eq this "number"}}decimal.Decimal, int, float, {{/eq}}{{#eq this "boolean"}}bool, {{/eq}}{{/each}}{{/eq}}
1+
{{#eq types null}}dict, frozendict.frozendict, str, datetime.date, datetime.datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader{{else}}{{#each types}}{{#unless @first}}, {{/unless}}{{#eq this "array"}}list, tuple{{/eq}}{{#eq this "object"}}dict, frozendict.frozendict{{/eq}}{{#eq this "null"}}None{{/eq}}{{#eq this "string" }}{{#neq ../format "binary"}}str{{/neq}}{{#eq ../format "date"}}, datetime.date{{/eq}}{{#eq ../format "date-time"}}, datetime.datetime{{/eq}}{{#eq ../format "uuid"}}, uuid.UUID{{/eq}}{{#eq ../format "binary"}}bytes, io.FileIO, io.BufferedReader{{/eq}}{{/eq}}{{#eq this "integer"}}decimal.Decimal, int{{/eq}}{{#eq this "number"}}decimal.Decimal, int, float{{/eq}}{{#eq this "boolean"}}bool{{/eq}}{{/each}}{{/eq}}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
{{#eq types null}}
2+
dict,
3+
frozendict.frozendict,
4+
str,
5+
datetime.date,
6+
datetime.datetime,
7+
uuid.UUID,
8+
int,
9+
float,
10+
decimal.Decimal,
11+
bool,
12+
None,
13+
list,
14+
tuple,
15+
bytes,
16+
io.FileIO,
17+
io.BufferedReader
18+
{{else}}
19+
{{#each types}}
20+
{{#eq this "array"}}
21+
list,
22+
tuple{{#unless @last}},{{/unless}}
23+
{{/eq}}
24+
{{#eq this "object"}}
25+
dict,
26+
frozendict.frozendict{{#unless @last}},{{/unless}}
27+
{{/eq}}
28+
{{#eq this "null"}}
29+
None{{#unless @last}},{{/unless}}
30+
{{/eq}}
31+
{{#eq this "string" }}
32+
{{#eq ../format null}}
33+
str{{#unless @last}},{{/unless}}
34+
{{else}}
35+
{{#eq ../format "date"}}
36+
str,
37+
datetime.date{{#unless @last}},{{/unless}}
38+
{{else}}
39+
{{#eq ../format "date-time"}}
40+
str,
41+
datetime.datetime{{#unless @last}},{{/unless}}
42+
{{else}}
43+
{{#eq ../format "uuid"}}
44+
str,
45+
uuid.UUID{{#unless @last}},{{/unless}}
46+
{{else}}
47+
{{#eq ../format "binary"}}
48+
bytes,
49+
io.FileIO,
50+
io.BufferedReader{{#unless @last}},{{/unless}}
51+
{{else}}
52+
str{{#unless @last}},{{/unless}}
53+
{{/eq}}
54+
{{/eq}}
55+
{{/eq}}
56+
{{/eq}}
57+
{{/eq}}
58+
{{/eq}}
59+
{{#eq this "integer"}}
60+
decimal.Decimal,
61+
int{{#unless @last}},{{/unless}}
62+
{{/eq}}
63+
{{#eq this "number"}}
64+
decimal.Decimal,
65+
int,
66+
float{{#unless @last}},{{/unless}}
67+
{{/eq}}
68+
{{#eq this "boolean"}}
69+
bool{{#unless @last}},{{/unless}}
70+
{{/eq}}
71+
{{/each}}
72+
{{/eq}}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#each identifierPieces}}{{#if this.anchorPiece}}{{this.anchorPiece}}{{else}}{{this}}{{/if}}{{#unless @last}}-{{/unless}}{{/each}}{{#if includeSuffix}}{{> components/schemas/_helper_identifier_suffix identifierSuffix=(getIdentifierSuffix identifierToHeadingQty identifierPieces) }}{{/if}}
1+
{{#each identifierPieces}}{{#if this.anchorPiece}}{{this.anchorPiece}}{{else}}{{this}}{{/if}}{{#unless @last}}-{{/unless}}{{/each}}
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
11
{{headerSize}} {{#each identifierPieces}}{{#if this.camelCase}}{{this.camelCase}}{{else}}{{this}}{{/if}}{{#unless @last}} {{/unless}}{{/each}}
2-
{{#if recordUsage}}
3-
{{> components/schemas/_helper_identifier_suffix identifierSuffix=(getIdentifierSuffix identifierToHeadingQty identifierPieces) }}
4-
{{/if}}
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{#eq types null}}frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, io.FileIO, {{else}}{{#each types}}{{#eq this "array"}}tuple, {{/eq}}{{#eq this "object"}}frozendict.frozendict, {{/eq}}{{#eq this "null"}}NoneClass, {{/eq}}{{#eq this "string" }}{{#neq ../format "binary"}}str, {{/neq}}{{#eq ../format "binary"}}bytes, io.FileIO, {{/eq}}{{/eq}}{{#eq this "integer"}}decimal.Decimal, {{/eq}}{{#eq this "number"}}decimal.Decimal, {{/eq}}{{#eq this "boolean"}}BoolClass, {{/eq}}{{/each}}{{/eq}}
1+
{{#eq types null}}frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, io.FileIO{{else}}{{#each types}}{{#unless @first}}, {{/unless}}{{#eq this "array"}}tuple{{/eq}}{{#eq this "object"}}frozendict.frozendict{{/eq}}{{#eq this "null"}}NoneClass{{/eq}}{{#eq this "string" }}{{#neq ../format "binary"}}str{{/neq}}{{#eq ../format "binary"}}bytes, io.FileIO{{/eq}}{{/eq}}{{#eq this "integer"}}decimal.Decimal{{/eq}}{{#eq this "number"}}decimal.Decimal{{/eq}}{{#eq this "boolean"}}BoolClass{{/eq}}{{/each}}{{/eq}}

modules/openapi-json-schema-generator/src/main/resources/python/components/headers/header_doc.hbs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
{{packageName}}.components.headers.{{componentModule}}
44
{{/if}}
55
{{#eq identifierPieces.size 0}}
6-
{{> components/_helper_header_from_identifier_pieces identifierPieces=(append identifierPieces "Header" jsonPathPiece) recordUsage=true }}
6+
{{> components/_helper_header_from_identifier_pieces identifierPieces=(append identifierPieces "Header" jsonPathPiece) }}
77
{{else}}
8-
{{> components/_helper_header_from_identifier_pieces recordUsage=false }}
8+
{{> components/_helper_header_from_identifier_pieces }}
99
{{/eq}}
1010
{{#if description}}
1111

@@ -16,10 +16,10 @@
1616
{{#with getDeepestRef}}
1717
{{#if schema}}
1818
{{#with schema}}
19-
{{> components/_helper_header_from_identifier_pieces headerSize=(join headerSize "#" "") identifierPieces=(append (newArray ) jsonPathPiece) recordUsage=false }}
19+
{{> components/_helper_header_from_identifier_pieces headerSize=(join headerSize "#" "") identifierPieces=(append (newArray ) jsonPathPiece) }}
2020
Ref Class | Input Type | Accessed Type | Description
2121
--------- | ---------- | ------------- | ------------
22-
[{{../../refInfo.refClass}}.schema](../../components/headers/{{../../refInfo.refModule}}.md#{{> components/_helper_anchor_id identifierPieces=(append (newArray ) jsonPathPiece) includeSuffix=false }}) | {{> _helper_schema_python_types }} | {{> components/_helper_schema_accessed_types }} | {{#if ../../description}}{{../../description}}{{/if}}
22+
[{{../../refInfo.refClass}}.schema](../../components/headers/{{../../refInfo.refModule}}.md#{{> components/_helper_anchor_id identifierPieces=(append (newArray ) jsonPathPiece) }}) | {{> _helper_schema_python_types }} | {{> components/_helper_schema_accessed_types }} | {{#if ../../description}}{{../../description}}{{/if}}
2323
{{/with}}
2424
{{/if}}
2525
{{#each content}}
@@ -29,14 +29,14 @@ Ref Class | Input Type | Accessed Type | Description
2929
Content-Type | Schema
3030
------------ | -------
3131
{{/if}}
32-
"{{@key.original}}" | [content.{{@key.snakeCase}}.{{this.schema.jsonPathPiece.camelCase}}](#{{> components/_helper_anchor_id identifierPieces=(append identifierPieces "content" @key this.schema.jsonPathPiece) includeSuffix=false }})
32+
"{{@key.original}}" | [content.{{@key.snakeCase}}.{{this.schema.jsonPathPiece.camelCase}}](#{{> components/_helper_anchor_id identifierPieces=(append identifierPieces "content" @key this.schema.jsonPathPiece) }})
3333
{{/each}}
3434
{{#each content}}
3535
{{#with this.schema}}
36-
{{> components/_helper_header_from_identifier_pieces headerSize=(join headerSize "#" "") identifierPieces=(append (newArray ) "content" ../@key jsonPathPiece) recordUsage=false }}
36+
{{> components/_helper_header_from_identifier_pieces headerSize=(join headerSize "#" "") identifierPieces=(append (newArray ) "content" ../@key jsonPathPiece) }}
3737
Ref Class | Input Type | Accessed Type | Description
3838
--------- | ---------- | ------------- | ------------
39-
[{{../../../refInfo.refClass}}.content.{{../@key.snakeCase}}.schema](../../components/headers/{{../../../refInfo.refModule}}.md#{{> components/_helper_anchor_id identifierPieces=(append (newArray ) "content" ../@key jsonPathPiece) includeSuffix=false }}) | {{> _helper_schema_python_types }} | {{> components/_helper_schema_accessed_types }} | {{#if ../../../description}}{{../../../description}}{{/if}}
39+
[{{../../../refInfo.refClass}}.content.{{../@key.snakeCase}}.schema](../../components/headers/{{../../../refInfo.refModule}}.md#{{> components/_helper_anchor_id identifierPieces=(append (newArray ) "content" ../@key jsonPathPiece) }}) | {{> _helper_schema_python_types }} | {{> components/_helper_schema_accessed_types }} | {{#if ../../../description}}{{../../../description}}{{/if}}
4040
{{/with}}
4141
{{/each}}
4242
{{/with}}
@@ -54,7 +54,7 @@ Ref Class | Input Type | Accessed Type | Description
5454
Content-Type | Schema
5555
------------ | -------
5656
{{/if}}
57-
"{{@key.original}}" | [content.{{@key.snakeCase}}.{{this.schema.jsonPathPiece.camelCase}}](#{{> components/_helper_anchor_id identifierPieces=(append identifierPieces "content" @key this.schema.jsonPathPiece) includeSuffix=false }})
57+
"{{@key.original}}" | [content.{{@key.snakeCase}}.{{this.schema.jsonPathPiece.camelCase}}](#{{> components/_helper_anchor_id identifierPieces=(append identifierPieces "content" @key this.schema.jsonPathPiece) }})
5858
{{/each}}
5959
{{#each content}}
6060
{{#with this}}

modules/openapi-json-schema-generator/src/main/resources/python/components/parameters/parameter_doc.hbs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
{{../packageName}}.components.parameters.{{componentModule}}
44
{{/if}}
55
{{#eq identifierPieces.size 0}}
6-
{{> components/_helper_header_from_identifier_pieces identifierPieces=(append identifierPieces "Parameter" jsonPathPiece) recordUsage=true }}
6+
{{> components/_helper_header_from_identifier_pieces identifierPieces=(append identifierPieces "Parameter" jsonPathPiece) }}
77
{{else}}
8-
{{> components/_helper_header_from_identifier_pieces recordUsage=false }}
8+
{{> components/_helper_header_from_identifier_pieces }}
99
{{/eq}}
1010
{{#if description}}
1111

@@ -16,10 +16,10 @@
1616
{{#with getDeepestRef}}
1717
{{#if schema}}
1818
{{#with schema}}
19-
{{> components/_helper_header_from_identifier_pieces headerSize=(join headerSize "#" "") identifierPieces=(append (newArray ) jsonPathPiece) recordUsage=false }}
19+
{{> components/_helper_header_from_identifier_pieces headerSize=(join headerSize "#" "") identifierPieces=(append (newArray ) jsonPathPiece) }}
2020
Ref Class | Input Type | Accessed Type | Description
2121
--------- | ---------- | ------------- | ------------
22-
[{{../../refInfo.refClass}}.schema](../../components/parameters/{{../../refInfo.refModule}}.md#{{> components/_helper_anchor_id identifierPieces=(append (newArray ) jsonPathPiece) includeSuffix=false }}) | {{> _helper_schema_python_types }} | {{> components/_helper_schema_accessed_types }} | {{#if ../../description}}{{../../description}}{{/if}}
22+
[{{../../refInfo.refClass}}.schema](../../components/parameters/{{../../refInfo.refModule}}.md#{{> components/_helper_anchor_id identifierPieces=(append (newArray ) jsonPathPiece) }}) | {{> _helper_schema_python_types }} | {{> components/_helper_schema_accessed_types }} | {{#if ../../description}}{{../../description}}{{/if}}
2323
{{/with}}
2424
{{else}}
2525
{{#each getDeepestRef.content}}
@@ -29,14 +29,14 @@ Ref Class | Input Type | Accessed Type | Description
2929
Content-Type | Schema
3030
------------ | -------
3131
{{/if}}
32-
"{{@key.original}}" | [content.{{@key.snakeCase}}.{{this.schema.jsonPathPiece.camelCase}}](#{{> components/_helper_anchor_id identifierPieces=(append identifierPieces "content" @key this.schema.jsonPathPiece) includeSuffix=false }})
32+
"{{@key.original}}" | [content.{{@key.snakeCase}}.{{this.schema.jsonPathPiece.camelCase}}](#{{> components/_helper_anchor_id identifierPieces=(append identifierPieces "content" @key this.schema.jsonPathPiece) }})
3333
{{/each}}
3434
{{#each getDeepestRef.content}}
3535
{{#with this.schema}}
36-
{{> components/_helper_header_from_identifier_pieces headerSize=(join headerSize "#" "") identifierPieces=(append (newArray ) "content" ../@key jsonPathPiece) recordUsage=false }}
36+
{{> components/_helper_header_from_identifier_pieces headerSize=(join headerSize "#" "") identifierPieces=(append (newArray ) "content" ../@key jsonPathPiece) }}
3737
Ref Class | Input Type | Accessed Type | Description
3838
--------- | ---------- | ------------- | ------------
39-
[{{../../../refInfo.refClass}}.content.{{../@key.snakeCase}}.schema](../../components/parameters/{{../../../refInfo.refModule}}.md#{{> components/_helper_anchor_id identifierPieces=(append (newArray ) "content" ../@key jsonPathPiece) includeSuffix=false }}) | {{> _helper_schema_python_types }} | {{> components/_helper_schema_accessed_types }} | {{#if ../../../description}}{{../../../description}}{{/if}}
39+
[{{../../../refInfo.refClass}}.content.{{../@key.snakeCase}}.schema](../../components/parameters/{{../../../refInfo.refModule}}.md#{{> components/_helper_anchor_id identifierPieces=(append (newArray ) "content" ../@key jsonPathPiece) }}) | {{> _helper_schema_python_types }} | {{> components/_helper_schema_accessed_types }} | {{#if ../../../description}}{{../../../description}}{{/if}}
4040
{{/with}}
4141
{{/each}}
4242
{{/if}}
@@ -55,7 +55,7 @@ Ref Class | Input Type | Accessed Type | Description
5555
Content-Type | Schema
5656
------------ | -------
5757
{{/if}}
58-
"{{@key.original}}" | [content.{{@key.snakeCase}}.{{this.schema.jsonPathPiece.camelCase}}](#{{> components/_helper_anchor_id identifierPieces=(append identifierPieces "content" @key this.schema.jsonPathPiece) includeSuffix=false }})
58+
"{{@key.original}}" | [content.{{@key.snakeCase}}.{{this.schema.jsonPathPiece.camelCase}}](#{{> components/_helper_anchor_id identifierPieces=(append identifierPieces "content" @key this.schema.jsonPathPiece) }})
5959
{{/each}}
6060
{{#each content}}
6161
{{#with this.schema}}

0 commit comments

Comments
 (0)