Closed AndrewChurchill closed 2 years ago
You can now use properties that are not part of the actual spec by specifying the exception skip code EDEV001
. If you are unfamiliar with the way skip codes work please see this documentation: https://openapi-enforcer.com/api/#enforcer
This has been published to NPM with version 1.21.0
.
Have a great day!
Thank you for taking care of this so quickly! It works great!
I may have spoken too soon... I added the exception skip code, but I'm still seeing the same exception.
const [openapi, error, warning] = await Enforcer(path, {
fullResult: true,
componentOptions: {
exceptionSkipCodes: [
// Don't warn for non-standard format types
'WSCH001',
// Don't check "example" properties
'WSCH006',
// Allow additional properties (i.e., readonly: true)
'EDEV001',
],
},
});
It still produces the same errors:
One or more errors exist in the OpenApi definition
at: components > schemas > somethingV1 > properties
at: somethingElse > properties > somethingElseElse
Property not allowed: something [EDEV001]
Am I specifying the code correctly? I'm using version 1.21.0.
I believe you are specifying the code correctly. I'll check this out. Also, if you have an example openapi.yml
or other file that I could run it against that will help to ensure that I've fixed the problem.
@Gi60s I've run in this too: it seems as if the exceptionSkipCodes
options are not respected.
The debugger pointed to
https://github.com/Gi60s/openapi-enforcer/blob/fc78fe42b4cf2eba9200188cc8d45f8aaadf1577/src/definition-validator.js#L388
which in this case creates a new Schema(new ValidatorState(data))
using constructor helper
https://github.com/Gi60s/openapi-enforcer/blob/fc78fe42b4cf2eba9200188cc8d45f8aaadf1577/src/super.js#L79
The user options are carried in the definition.options
but not used and options
is not set ...
A test case:
Nice troubleshooting @plankthom. I'll take a look at this and hopefully have it resolved in the next day or two.
Thanks for your patience. This should be fixed now. Try version 1.22.1
.
Hello, is there a way to ignore "Property not found" errors during document validation? For example:
When called, the error will be:
We would like to allow properties like "readonly" and "additionalProperties" even though they don't quite conform to the spec. Is there a way to ignore this step of the document validation entirely?
Thank you for your help!