-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Steps to reproduce
Define a OAS with the following definition endpoint definition:
"/price/getprice": {
"get": {
"tags": [
"price-controller"
],
"summary": "Get the price of data",
"operationId": "getPrice",
"parameters": [
{
"name": "parameters",
"in": "query",
"description": "characteristic parameters of the data",
"required": true,
"schema": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "price of data",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
}
}
},Current Behavior
It generates the following service
export interface PriceControllerService {
getPrice(parameters: {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
[additionalProperty: string]: any;
}): Promise<string>;
}This result is wrong! Based on the documentation https://swagger.io/docs/specification/data-models/dictionaries/ it should pass all the query attributes directly, instead of trying nest them under parameters: {}.
So when calling the endpoint -> /price/getprice?a=1&b=2 it throws the error MISSING_REQUIRED_PARAMETERS
{
"error": {
"statusCode": 400,
"name": "BadRequestError",
"message": "Required parameter parameters is missing!",
"code": "MISSING_REQUIRED_PARAMETER"
}
}Expected Behavior
It should support Maps and Dictionaries and somehow allow dynamic parameters throught the query. Is there any solution implemented? Thanks!
Link to reproduction sandbox
Additional information
Related Issues
See Reporting Issues for more tips on writing good issues
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Type
Projects
Status
Icebox