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

string samples should also be json stringified in case of json related content type #6412

Merged
merged 4 commits into from Sep 21, 2020

Conversation

mathis-m
Copy link
Contributor

@mathis-m mathis-m commented Sep 18, 2020

solves issue: quotes missing in string example values

Description

When generating json SampleSchema it should be taken in consideration to stringify string schema samples correctly.
In order to do so i included the string type check in the conditional return branch for stringifing the sample schema, chained by or operator.

Changed test to check for unnecessarily stringify non-object values, because it used string type to complete the test, now it uses number.
Added test to check if string values are stringified.

Motivation and Context

Found this issue while creating new aspnet core webapi with swagger ui.
The sample controller excepts a string body on post route.
Making the sample request via swagger-ui results in json deserializer exception, because of missing quotes around the string value.

Fixes #6120

How Has This Been Tested?

Checked in browser.

npm run test

Screenshots (if appropriate):

Checklist

My PR contains...

  • No code changes (src/ is unmodified: changes to documentation, CI, metadata, etc.)
  • Dependency changes (any modification to dependencies in package.json)
  • Bug fixes (non-breaking change which fixes an issue)
  • Improvements (misc. changes to existing features)
  • Features (non-breaking change which adds functionality)

My changes...

  • are breaking changes to a public API (config options, System API, major UI change, etc).
  • are breaking changes to a private API (Redux, component props, utility functions, etc.).
  • are breaking changes to a developer API (npm script behavior changes, new dev system dependencies, etc).
  • are not breaking changes.

Documentation

  • My changes do not require a change to the project documentation.
  • My changes require a change to the project documentation.
  • If yes to above: I have updated the documentation accordingly.

Automated tests

  • My changes can not or do not need to be tested.
  • My changes can and should be tested by unit and/or integration tests.
  • If yes to above: I have added tests to cover my changes.
  • If yes to above: I have taken care to cover edge cases in my tests.
  • All new and existing tests passed.

@tim-lai tim-lai self-assigned this Sep 18, 2020
@tim-lai tim-lai merged commit 821ba88 into swagger-api:master Sep 21, 2020
@tim-lai
Copy link
Contributor

tim-lai commented Sep 21, 2020

@mathis-m PR merged! Thanks for the contribution!

@mathis-m mathis-m changed the title string samples should also be json stringified. string samples should also be json stringified in case of json related content type Sep 23, 2020
@mathis-m mathis-m deleted the bug/6120 branch September 23, 2020 23:05
tim-lai pushed a commit that referenced this pull request Sep 29, 2020
…ext/json (#6431)

* reverts #6412 which stringified string value if content-type: text/plain 
* enable stringify string values matching `/json/` and allowList of `shouldStringifyTypes` ("string")
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.

quotes missing in string example values
2 participants