You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Karen Lease (Jira)" <ji...@apache.org> on 2022/01/21 16:38:00 UTC
[jira] [Resolved] (CAMEL-17491) camel-openapi-java - Operation paths are incorrect if contextPath is set
[ https://issues.apache.org/jira/browse/CAMEL-17491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Karen Lease resolved CAMEL-17491.
---------------------------------
Resolution: Fixed
> camel-openapi-java - Operation paths are incorrect if contextPath is set
> ------------------------------------------------------------------------
>
> Key: CAMEL-17491
> URL: https://issues.apache.org/jira/browse/CAMEL-17491
> Project: Camel
> Issue Type: Bug
> Components: camel-openapi-java
> Affects Versions: 3.13.0, 3.14.0
> Reporter: James Netherton
> Assignee: Karen Lease
> Priority: Major
> Fix For: 3.15.0
>
>
> Consider this REST configuration:
> {code}
> restConfiguration()
> .host("localhost")
> .apiHost("localhost")
> .contextPath("/api")
> .port(8080)
> .apiContextPath("/api-docs");
> rest("/service")
> .get("/testing").description("Test Service")
> .outType(String.class)
> .route().setBody().constant("Hello World");
> {code}
> The 'paths' object in the generated OpenAPI document is incorrect. It should not have the '/api' context path prefix.
> {code}
> {
> "openapi" : "3.0.2",
> "info" : { },
> "servers" : [ {
> "url" : "/api"
> } ],
> "paths" : {
> "/api/service/testing" : {
> "get" : {
> "tags" : [ "/service" ],
> "responses" : {
> "200" : { }
> },
> "operationId" : "verb1",
> "summary" : "Test Service"
> }
> }
> },
> "components" : { },
> "tags" : [ {
> "name" : "/service"
> } ]
> }
> {code}
> The OpenAPI spec states:
> "Unless specified otherwise, all properties that are URLs MAY be relative references as defined by RFC3986. Relative references are resolved using the URLs defined in the Server Object as a Base URI.".
> If you try to execute the service in the Swagger UI, then it tries to hit http://localhost:8080/api/api/service/testing (duplicate /api/api in the path).
> Maybe the code we had before CAMEL-17063 was implemented was more correct?
--
This message was sent by Atlassian Jira
(v8.20.1#820001)