Skip to content

Add Smithy RPC v2 JSON protocol#3006

Open
kstich wants to merge 3 commits intomainfrom
dev/kstich/smithy-rpcv2-json
Open

Add Smithy RPC v2 JSON protocol#3006
kstich wants to merge 3 commits intomainfrom
dev/kstich/smithy-rpcv2-json

Conversation

@kstich
Copy link
Copy Markdown
Contributor

@kstich kstich commented Mar 20, 2026

Background

This commit adds the Smithy RPC v2 JSON protocol, a JSON-payload based protocol in the Smithy RPC v2 family.

A full specification of the protocol is included, as well as minor validation for its http and eventStreamHttp properties.

Protocol tests, including those for arbitrary precision numbers, are included.

Additionally, a conversion to OpenAPI is included.

Testing

An initial implementation in Smithy-Java passes all protocol tests with only the expected changes to shared implementation components.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@kstich kstich requested a review from a team as a code owner March 20, 2026 15:38
@kstich kstich requested a review from sugmanue March 20, 2026 15:38
@github-actions
Copy link
Copy Markdown
Contributor

This pull request does not contain a staged changelog entry. To create one, use the ./.changes/new-change command. For example:

./.changes/new-change --pull-requests "#3006" --type feature --description "Add Smithy RPC v2 JSON protocol"

Make sure that the description is appropriate for a changelog entry and that the proper feature type is used. See ./.changes/README or run ./.changes/new-change -h for more information.

{
id: "RpcV2JsonRequestEmptyInput"
protocol: rpcv2Json
documentation: "When Input structure is empty we write JSON equivalent of {}"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here and below in this file

Suggested change
documentation: "When Input structure is empty we write JSON equivalent of {}"
documentation: "When Input structure is empty we write an empty JSON object"

@kstich kstich force-pushed the dev/kstich/smithy-rpcv2-json branch from d12e23d to 025ad49 Compare March 24, 2026 16:40
@kstich kstich force-pushed the dev/kstich/smithy-rpcv2-json branch 2 times, most recently from 607da8e to fd4987d Compare April 10, 2026 22:26
kstich added 3 commits April 16, 2026 12:38
This commit adds the Smithy RPC v2 JSON  protocol, a protocol
JSON-payload based protocol in the Smithy RPC v2 family.

A full specification of the protocol is included, as well as minor
validation for its `http` and `eventStreamHttp` properties.
@kstich kstich force-pushed the dev/kstich/smithy-rpcv2-json branch from fd4987d to 2b53241 Compare April 23, 2026 07:06
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