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

Fixes examples for compliance with RFC-9535 #118

Open
wants to merge 3 commits into
base: v1.0-dev
Choose a base branch
from

Conversation

mikekistler
Copy link
Contributor

This PR makes a few minor fixes to the overlay examples to ensure they are compliant with RFC-9535.

I tested all the examples in the spec with Speakeasy's overlay playground and only these two had problems.

Note that any examples that use filters need

x-speakeasy-jsonpath: rfc9535

but I did not include that in the examples.

@mikekistler mikekistler changed the base branch from main to v1.0-dev February 11, 2025 16:30
lornajane
lornajane previously approved these changes Feb 11, 2025
Copy link
Contributor

@lornajane lornajane left a comment

Choose a reason for hiding this comment

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

Thanks!

@kevinswiber
Copy link

kevinswiber commented Feb 11, 2025

@mikekistler @gregsdennis Will this query work if we keep the original x-oai-traits example?

$.paths[[email protected]['x-oai-traits'][?@ == 'paged']].get
openapi: 3.1.0
info:
  title: API with a paged collection
  version: 1.0.0
paths:
  /items:
    get:
      x-oai-traits: ['paged']
      responses:
        200:
          description: OK

EDIT: It appears to work with Speakeasy's tooling.

@gregsdennis
Copy link
Contributor

Yeah, that's compliant @kevinswiber.

@mikekistler
Copy link
Contributor Author

Thanks @kevinswiber and @gregsdennis for puzzling out how to use the original x-oai-traits with array value. I've updated the PR to incorporate this.

Comment on lines +215 to +216
- name: newParam
in: query
Copy link
Contributor

Choose a reason for hiding this comment

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

The spec says

If the target selects an array, the value of this field MUST be an entry to append to the array.

The original example appended a Parameter Object to an array of Parameter Objects, which feels correct.

The modified example appends a one-element array to an array, so I would expect the result be an array whose last element is the one-element array.

If we want "append to an array" to mean "concatenate two arrays", we should make that really clear in the text.

Choose a reason for hiding this comment

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

@ralfhandl I don't think we do want that. I think the behavior you described is what I would expect. We had a whole issue and PR discussing arrays. I think it's #30?

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.

5 participants