-
-
Notifications
You must be signed in to change notification settings - Fork 273
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
feat: request/response support #847
feat: request/response support #847
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Welcome to AsyncAPI. Thanks a lot for creating your first pull request. Please check out our contributors guide 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.
@smarek Do you like to review this pr? |
@GreenRover thank you for tagging me, but i've lost interest long time ago, because the whole process (discussion, calls, revisions...) took too long and in the end my proposal was discarded in favor of writing the whole thing over in next major version of AsyncAPI. I wish you all the luck in progressing with this feature. |
@smarek I know, this is the attempt for the next major. Only wanted to ask you this pr would match all your requirements. irony: And its is not take this long, we only started discussions 5 month ago. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
left some comments, I'm basically full of doubts 😄
Hey, I have few requests:
|
|
Branch is merge ready again |
sorry I didn't get it. CorrelationId example was not added originally to Kraken example -> https://www.asyncapi.com/blog/websocket-part2#lets-have-a-look-at-the-final-document
fair point. You contribute a feature to 3.0, but there are other features already and examples are not adjusted accordingly. I forgot about it.
the point is that I would like us to make sure that we merge req/rep when we have it presented in real life examples, to make sure they actually make point. I'm happy to help with Adeo. I know how they workaround req/rep there, and also have direct contact with owners. So I definitely would love to take up a challenge to take Adeo's file and migrate to current 3.0 with reg/repl |
We had a great conversation in the Spec 3.0 meeting yesterday. If you're interested, here's the recording: https://www.youtube.com/watch?v=koLWWoBnIMo. Summary of the meetingWe tried many different approaches to define request/reply interactions but we weren't happy with any of them. @GreenRover kindly added a few more examples to this PR so we can improve the discussion here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great significant work here!
I have NOTE regarding description wording: This PR introduces following sentence (among others)
Although this is consistent with other descriptions within the spec (search for "
Reasoning: We should refer to things as they are defined within the spec. Reference Object is Reference Object, and we should probably not introduce new synonymous nomenclature like This is something to be discussed in separated issue, if it is agreed that this is something that we want to address. |
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
@fmvilas Please approve again. Thant i have 3 contributor and can merge. |
I completely agree, @char0n. Let's do it in a separate PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, @GreenRover! Feel free to merge now! 🚀
/ready-to-merge |
🎉 This PR is included in version 3.0.0-next-major-spec.10 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
😱 It's merged!? 😆 Finally 🔥! Well done @GreenRover and what a patience 😄 |
Correct me if I'm wrong @GreenRover. I noticed we still have this PR pending with changes in JSON Schema files #847 Are you going to work on it? |
@smoya Currently i focus on next spec 3.0 feature, #622. |
Added an issue for the parser here: asyncapi/parser-js#732 |
Title: "Request/Response paradigm support in operation"
Related issue(s): #94 #558
Champion: @GreenRover
Explanation of Problem & Solution:
Very common type of operation is currently missing in specification per discussion in referenced (related) issues. Operation that results in direct or indirect response to the caller.
The most basic example is publishing a message, where the result of publish operation should be known as soon as possible to the caller. Eg. invoking operation on given channel will return the specific message (or oneOf messages) right away to the caller.
The complicated example is correlation of the request and response, where publish/subscribe operation with given message will result in the specific message to be delivered back to the caller via different channel.
Solution has two parts:
Please consume before take part to discussion: