An OpenAPI tool to compare OpenAPI Specifications.
The tool is available as a nuget package, directly usable into your C# application.
To install it run the command:
dotnet add package Criteo.OpenApi.Comparator
Here is an example of how to use the Comparator:
var differences = OpenApiComparator.Compare(
oldOpenApiSpec,
newOpenApiSpec
);
The comparator is also available as a command line tool.
To install it, run the command:
dotnet tool install -g Criteo.OpenApi.Comparator.Cli
You can then use the tool through the openapi-compare
command:
openapi-compare -o new_oas.json -n old_oas.json -f Json
Available options:
Option | Small | Required | Description |
---|---|---|---|
--old | -o | true | Path to old OpenAPI Specification |
--new | -n | true | Path to new OpenAPI Specification |
--outputFormat | -f | false | Specifies in which format the differences should be displayed (default Json). Possible values: Json | Text. |
--help | -h | false | Log available options |
Each comparison rule is documented in the documentation section.
Internally, the comparator uses microsoft/OpenAPI.NET which currently supports OpenAPI 2.0 to 3.0.0.
Any contribution is more than welcomed. For now, no specific rule must be applied to contribute, just create an Issue or a Pull Request and we'll try to handle it ASAP.
OpenApi Comparator is an Open Source software released under the Apache 2.0 license.