Hi Yeah you are welcome to do that on the main branch
On Mon, Aug 31, 2026 at 10:21 AM Pontus Ullgren <[email protected]> wrote: > Hello, > > We are using the REST OpenApi to publish rest services from a OAS (as > a consumer). > > The OAS spec specifies that error responses, such as 400, 404 and so > on, should have a JSON body > that follows a specific schema. > > Using a `RestClientRequestValidator` implementation we can achive this > for client request validation errors. > > However when/if the client requests a path or a method on a path that > is not present in the OAS, > then there does not seem to be anyway to hook in and change the response > body. > > > https://github.com/apache/camel/blob/main/components/camel-rest-openapi/src/main/java/org/apache/camel/component/rest/openapi/RestOpenApiProcessor.java#L128-L142 > > I would like to propose adding a new SPI, following the same pattern > as `RestClientRequestValidator` to make it possible to change the > response > produced when there is no match for the operation in the OAS. > > My proposal is to create a new interface > > ``` > public interface RestOpenApiUnmatchedRequestHandler { > /** > * Handles the incoming request that did not match any operation > in the OpenAPI specification. > * > * @param exchange the current exchange > * @param statusCode the HTTP status code (404 or 405) > * @param allowedMethods the list of allowed HTTP methods for the > requested path (empty for 404) > */ > void handle(Exchange exchange, int statusCode, List<String> > allowedMethods); > } > ``` > > And also a default handler that implements the current behaviour. > > Does this sound like a resonable change ? If so I would be happy to > open a Jira issue and provide a PR with my proposed changes. > > Best regards > Pontus Ullgren > -- Claus Ibsen
