Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Completing the AsyncAPI model with add the schema related part #187

Merged
merged 6 commits into from
Sep 21, 2020

Conversation

lbroudoux
Copy link
Contributor

  • Adding commands for channels

As required for the implementation of a fully featured AsyncAPI graphical editor into Apicurio Studio, the model as been completed with all the details related to Schema and SchemaDefinition management.

I also started to add new commands in order to add/remove Channels into an AyncAPI document model.

@EricWittmann
Copy link
Member

This looks quite good to me. One thing to perhaps discuss before merging is that we didn't implement Schema for AsyncAPI because the spec indicated (at the time) that multiple schema languages would be supported. So we were concerned that implementing it the way we did for OpenAPI (which specifies the schema language format) would not work well.

Has this been changed in the spec? I'm worried about making sure the data model supports other schema languages like Avro and Protobuf.

@lbroudoux
Copy link
Contributor Author

Understand the concern. I thought I also read this once but now it is stated in the specification that:

"The AsyncAPI Schema Object is a JSON Schema vocabulary which extends JSON Schema Core and Validation vocabularies."

Also:

"This object is a superset of the JSON Schema Specification Draft 07."

Maybe other schema formats could be managed as extension or external references? But it seems that the core part is fully JSON Schéma compliant... From my understanding at least 😌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants