You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Henrik Karlsson (Jira)" <ji...@apache.org> on 2022/01/04 16:48:00 UTC
[jira] [Created] (CAMEL-17430) Rest endpoint query parameters not set on underlying endpoint
Henrik Karlsson created CAMEL-17430:
---------------------------------------
Summary: Rest endpoint query parameters not set on underlying endpoint
Key: CAMEL-17430
URL: https://issues.apache.org/jira/browse/CAMEL-17430
Project: Camel
Issue Type: Bug
Components: camel-rest-openapi
Affects Versions: 3.14.0, 3.13.0
Reporter: Henrik Karlsson
After upgrading to 3.14.0 I got this error then calling an open api from a route:
{noformat}
Invalid url: /camel/api/v1/register. If you are forwarding/bridging http endpoints, then enable the bridgeEndpoint option on the endpoint: http://localhost:8093/s-smtp/v1/email?httpMethod=POST{noformat}
The endpoint used in the route looks like this:
{code:java}
.to("s-smtp:SendEmail?authUsername={{api.client-id}}&authPassword={{api.client-secret}}&authenticationPreemptive=true&throwExceptionOnFailure=false&bridgeEndpoint=true") {code}
After debugging I found that the cause of this is found on line 533 in RestOpenApiEndpoint:
{code:java}
// Add rest endpoint parameters
if (this.parameters != null && operation.getParameters() != null) {
for (Map.Entry<String, Object> entry : this.parameters.entrySet()) {
for (OasParameter param : operation.getParameters()) {
// skip parameters that are part of the operation as path as otherwise
// it will be duplicated as query parameter as well
boolean clash = "path".equals(param.in) && entry.getKey().equals(param.getName());
if (!clash) {
nestedParameters.put(entry.getKey(), entry.getValue());
}
}
}
} {code}
If the operation in question don't have any parameters this.parameters will never be added to the underlying endpoint.
Found this change in this commit:
https://github.com/apache/camel/commit/94847d8c4a84e39be31c38ca30a5f4a3575ece29#diff-f9d1965ec0771a782838b7a5c10c2e6e228fb6f4ce0776172488638a63d8a611R529
--
This message was sent by Atlassian Jira
(v8.20.1#820001)