fix: include body schema in OpenAPI docs when parse is 'none'#324
Open
kaigritun wants to merge 1 commit intoelysiajs:mainfrom
Open
fix: include body schema in OpenAPI docs when parse is 'none'#324kaigritun wants to merge 1 commit intoelysiajs:mainfrom
kaigritun wants to merge 1 commit intoelysiajs:mainfrom
Conversation
When using `parse: 'none'` to preserve raw request bodies, the body schema was being omitted from generated OpenAPI documentation because the 'none' case was not handled in the content type switch statement. This fix adds a case for 'none' that includes all common content types (application/json, application/x-www-form-urlencoded, multipart/form-data, text/plain) since the raw body could be any format. Fixes #1720
Contributor
WalkthroughThe PR adds support for the 'none' parse option in OpenAPI schema generation. When a request body specifies Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #1720
When using
parse: 'none'to preserve raw request bodies, the body schema was being omitted from generated OpenAPI documentation.Problem
The issue was in the content type switch statement in
src/openapi.ts. Whenparse: 'none'is set:hooks.parseexists (the array contains the 'none' parser)if (hooks.parse)branchparser.fn === 'none'doesn't match any case in the switchcontentremains an empty object{}operation.requestBody.contentis set to emptySolution
Added a
case 'none':that includes all common content types (application/json, application/x-www-form-urlencoded, multipart/form-data, text/plain) since the raw body could be any format.Testing
Added test case that verifies body schema is included when
parse: 'none'is set.Summary by CodeRabbit
New Features
Tests