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 or URL to old OpenAPI Specification. | |
--new |
-n |
true |
Path or URL to new OpenAPI Specification. | |
--outputFormat |
-f |
false |
(Default: Json ) Specifies in which format the differences should be displayed. Possible values: Json | Text . |
|
--strict |
-s |
false |
(Default: false ) Enable strict mode: breaking changes are errors instead of warnings. |
|
--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.
Simply use the dotnet cli. For example, to run the tests:
dotnet test