Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parameters Not functioning correctly #672

Open
SCC-BDuncan opened this issue Oct 17, 2024 · 1 comment
Open

Parameters Not functioning correctly #672

SCC-BDuncan opened this issue Oct 17, 2024 · 1 comment

Comments

@SCC-BDuncan
Copy link

Describe the issue
When a parameter is included for a "get", the parameter either does not pass the correct value (parameter is a string) or it causes an error (parameter is an integer)

To Reproduce
[Function("Get1")]
[OpenApiOperation(operationId: "Get1")]
[OpenApiParameter(name: "id", In = ParameterLocation.Query, Required = true, Type = typeof(int), Description = "User Id")]
[OpenApiResponseWithBody(statusCode: HttpStatusCode.OK, contentType: "application/json", bodyType: typeof(string), Description = "The OK response message containing a JSON result.")]
public IActionResult Get1([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "Get1/{id}")] HttpRequest req, int id)
{
string parameter = id.ToString();
string response = $"You passed in {parameter}.";
return new OkObjectResult(response);
}

[Function("Get2")]
[OpenApiOperation(operationId: "Get2")]
[OpenApiParameter(name: "id", In = ParameterLocation.Query, Required = true, Type = typeof(string), Description = "User Id")]
[OpenApiResponseWithBody(statusCode: HttpStatusCode.OK, contentType: "application/json", bodyType: typeof(string), Description = "The OK response message containing a JSON result.")]
public IActionResult Get2([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "Get2/{id}")] HttpRequest req, string id)
{
string response = $"You passed in {id}.";
return new OkObjectResult(response);
}

Expected behavior
Get1 should successfully pass in the number one when called with "Get1/1". Instead, it throws the following error : Cannot convert input parameter 'id' to type 'System.Int32' from type 'System.String')
Get2 should successfully pass in the string 'abc' when called with "Get2/abc". The parameter id has the value of "{id}"

Screenshots
Image
Image
Image
Image

Environment (please complete the following information, if applicable):

  • OS: Windows 10 Enterprise
  • Browser Chrome
  • Version 129.0.6668.101
@Skovvart
Copy link

It seems like you need to switch to ParameterLocation.Path, not .Query.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants