Skip to content

feat: support OpenAPI 3.2 additional operations#4238

Open
cmmoran wants to merge 5 commits into
swagger-api:masterfrom
cmmoran:oas32-pr
Open

feat: support OpenAPI 3.2 additional operations#4238
cmmoran wants to merge 5 commits into
swagger-api:masterfrom
cmmoran:oas32-pr

Conversation

@cmmoran

@cmmoran cmmoran commented Jul 13, 2026

Copy link
Copy Markdown

Description

Adds OpenAPI 3.2 additionalOperations support to Swagger Client while preserving custom HTTP method tokens throughout operation discovery, request construction, server selection, and operation ID generation.

Motivation and Context

OpenAPI 3.2 permits Path Item Objects to define operations with arbitrary HTTP method names under additionalOperations. Swagger Client previously ignored these operations or normalized their method names, which prevented correct request execution and could select the wrong operation-level server.

The implementation keeps standard methods normalized as before and preserves custom method tokens exactly as defined by the OpenAPI document. Custom method tokens are validated before request construction, and only own additionalOperations entries are enumerated.

How Has This Been Tested?

  • npm run lint
  • npm run test:unit -- test/execute/openapi-3-2.js test/helpers/get-operation-raw.js test/helpers/id-from-path-method/index.js
  • Targeted tests passed: 22 tests across 3 suites.

Types of changes

  • No code changes
  • Dependency changes
  • Bug fix
  • New feature
  • Breaking change

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and relevant existing tests passed.

@cmmoran
cmmoran marked this pull request as ready for review July 15, 2026 17:54
@cmmoran

cmmoran commented Jul 16, 2026

Copy link
Copy Markdown
Author

[[ Gentle, respectful nudge. ]]

Bumping this to hopefully get a maintainer's eye to review this. I have a sister PR in swagger-api/swagger-ui that has been reviewed and is approved and ready to merge once this PR is resolved.

Thank you for your time.

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.

1 participant