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

Undefined behaviour of "messageId" for Message Traits and Messages defined in components. #1014

Open
tomsfernandez opened this issue Jan 24, 2024 · 3 comments
Labels
❔ Question A question about the spec or processes

Comments

@tomsfernandez
Copy link

tomsfernandez commented Jan 24, 2024

HI! According to the specification from version 2.4 and onwards, the messageId field:

The id MUST be unique among all messages described in the API. The messageId value is case-sensitive

Now, what happens if I define a messageId in a trait or in a component? I will only be able to re-use that trait or component one time because if I reference it more than once then I would be repeating messageId. Is this the correct interpretation of this feature or should I be thinking it differently ?

How is tooling handling these cases?

@tomsfernandez tomsfernandez added the ❔ Question A question about the spec or processes label Jan 24, 2024
Copy link

Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request.
Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.

@ScottSusman
Copy link

Same question.

@derberg
Copy link
Member

derberg commented Feb 2, 2024

Solved with 3.0

Prior, yes, you kinda have a problem that if you will put messageId in a message trait or operationId in an operation trait and then reuse those in multiple messages/operations in the same document you will get an issue as it basically means you duplicate the ID information - reason is that for traits JSON Merge Patch is used

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
❔ Question A question about the spec or processes
Projects
None yet
Development

No branches or pull requests

3 participants