Thank you very much for your contribution @Theo Stolker .
Your pull request is merged and a new release on OEX has been published.
I'm still wondering if there is a simple way to resolve external references, I'll check if something help with validator.swagger.io (this tools is already used by OpenAPI suite). There is an option for external ref but I don't know yet what that implies, I have to test that.
Hi @Theo Stolker ,
I just tested the "DID Manager" specification.
With the simple http client, I noticed a code generation issue with double-quoted HTTP status code.
It's fixed.
I see a generated model like model.CompoundServicePropertiesserviceEndpoint
empty.
So, If we check the specification and we can see:
serviceEndpoint:
description: A map containing service references and/or endpoints.
example: { 'auth': 'did:nuts:EwVMYK2ugaMvRHUbGFBhuyF423JuNQbtpes35eHhkQic/serviceEndpoint?type=auth' }
type: object
It's a type object, but there is no schema
defined, so we can't generate any properties in this case.
This is the same problem with the model model.OrganizationSearchResultorganization
.
I also noticed external references in the specification file like :
didDocument:
$ref: '../common/ssi_types.yaml#/components/schemas/DIDDocument'
Indeed, this case is not supported.
I haven't checked for all the specs, but I think the 2 cases noted are the cause for the empty models.
If we specify a URL, maybe it would be possible to download the external ref and load the definition (to analyze...).







Finally, there is a solution @Theo Stolker .
If I parse by URL and send parameters "resolveFully=true" and "validateExternalRefs=true", the specification is fully resolved including external references. I can't commit\push this update directly, because if a user puts a URL only accessible from inside his organization, It does not work. It's not really a problem because the validator tools can be run locally in a container, but I have to update the documentation too.
I created the related issue 9 to follow the progression. I can't continue anymore this morning. I'll continue this evening.