i am new to camel. i am doing a project in spring-boot using camel for
routes. I noticed that when I go to SwaggerUi to see the correct
functioning of my Post calls the contextPath of the routes does not work:

public void configure() {

        restConfiguration().component("servlet").contextPath("service/");

        rest("/ocs")
            .post("/homologation")
                .id(camelRoutesIdConfig.getHomologationRequestRouteId())
                .consumes("application/json")
                .produces("application/json")
                .param()
                    .name("IntegrationRequestDto")
                    .type(RestParamType.body)
                    .required(true)
                    .description("attivazione nuovo contratto sul portale")
                .endParam()
                .to("direct:homologation")

}

This problem does not occur if in the application.yml I specify the
contextPath like this:

camel:
  rest:
    component: servlet
    binding-mode: json
    enable-cors: true
    data-format-property:
      prettyPrint: false
     component:
    servlet:
      mapping:
        context-path: /service/*

When I make my call Post in one case it works, while in the case of
ContextPath in routes it doesn't recognize the command and gives

{
  "timestamp": "2020-11-22T17:44:26.701+0000",
  "status": 404,
  "error": "Not Found",
  "message": "Not Found",
  "path": "/service/ocs/homologation"
}

Why is there this problem? Why am I forced to also specify in the
application.yml instead of using it only once in the routes? Thanks to
everyone for a possible answer

Reply via email to