I'm digging here around trying to find a solution, how to merge several OpenApi v3 component definitions in one file.
Let's imagine a situation:
blueprint.v1.yaml).
Usually, I use swagger-cli to merge all $ref dependencies, but now it's not a case, because I can not refer to the whole components/schemas object list
swagger-cli bundle tool.So, the question is - how to reuse already defined component blocks (files called components.v1.yaml) in my blueprint.v1.yaml file?
P.S. Every components.v1.yaml looks like this:

And a, for ex, location-create-single.v1.yaml path definition is shown on picture below. Mention, that all $ref referes to components.v1.yaml files.

OpenAPI 3.0 is the latest version of the specification. The Swagger tools, which are supported by SmartBear Software, are among the most popular tools for implementing the OpenAPI Specification, and will continue to maintain the Swagger name (Swagger Editor, Swagger UI, SwaggerHub, etc.)
With OpenAPI 3.0, you can reference a definition hosted on any location. It can be the same server, or another one – for example, GitHub, SwaggerHub, and so on. To reference a definition, use the $ref keyword: $ref: 'reference to definition'
Document SyntaxAn OpenAPI document is a text file, commonly called openapi. json or openapi. yaml , representing a JSON object, in either JSON or YAML format. This file is called the root document and it can be split into multiple JSON or YAML files, for clarity.
The operationId section of the Paths and Operators page in the OpenAPI Guide describes this property as: operationId is an optional unique string used to identify an operation. If provided, these IDs must be unique among all operations described in your API.
I don't think there is a "native" OpenAPI solution to your problem. People are discussing for a while about OpenAPI overlays/extends/merges. There is currently (2020-04-24) not any consensus about this topic.
Although you could implement your own tool or use an existing one to preprocess your blueprint.v1.yaml and generate a "merged OAS".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With