Description
This relates to a previous issue where we asked about the possibility of inlining map shapes. This has been quickly addressed, which we are very thankful for.
Is title currently supported? For example, Consider the following operation shape:
/// Do something given its name
@http(
method: "POST"
uri: "/do-something"
)
operation DoSomething {
input := {
@required
nameOfSomething: String
}
output := {
comment: String
}
}
More or less, this would currently get converted to the following JSON Schema:
{
"post": {
"description": "Do something given its name",
"operationId": "DoSomething",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DoSomethingRequestContent"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "DoSomething 200 response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DoSomethingResponseContent"
}
}
}
},
// ...
This is problematic because our build process cares about the schema name of an operation's input and output content (for code generation purposes).
Is there a way to change these schema names to follow the original Smithy input and output structure names?
(I used the input :=
, output :=
syntax for brevity, this also refers to scenarios where the structure is explicitly defined).
Meaning, the desired conversion would look something like this:
"post": {
"description": "Do something given its name",
"operationId": "DoSomething",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DoSomethingInput"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "DoSomething 200 response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DoSomethingOutput"
}
}
}
},
// ...