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

[dart-dio-next] Don't use encodeCollectionQueryParameter on maps #10116

Conversation

ahmednfwela
Copy link
Contributor

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package 
    ./bin/generate-samples.sh
    ./bin/utils/export_docs_generators.sh
    
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    For Windows users, please run the script in Git BASH.
  • File the PR against the correct branch: master, 5.3.x, 6.0.x
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

CC: @jaumard @josh-burton @amondnet @sbu-WBT @kuhnroyal @agilob

@kuhnroyal
Copy link
Contributor

There doesn't seem to be a sample for this. What are you expecting to be serialized when you pass a map as parameter?

@agilob
Copy link
Contributor

agilob commented Aug 9, 2021

What are the consequences of encoding maps and not encoding maps?

@kuhnroyal
Copy link
Contributor

Well, currently it throws an error. So we can:

  1. not specifically handle it (that what the current changes do)
  2. somehow encode it but this probably requires full deepObject support, I don't see this happening soon

So I am fine with just not handling it and let it run through the old encodeQueryParameter. Not sure what the output is but it won't throw.

@ahmednfwela
Copy link
Contributor Author

using encodeQueryParameter returns a raw map that is then passed to dio, and dio handles it correctly as expected in the form of:
field[key]=value

@agilob
Copy link
Contributor

agilob commented Aug 9, 2021

Would be nice to have a test or sample to persist this behaviour

@kuhnroyal
Copy link
Contributor

Please attach a spec snippet for this, we need to add this to the sample spec and add tests.

@agilob
Copy link
Contributor

agilob commented Aug 10, 2021

Since encoding map is a quite common scenario, should existing spec be updated to include maps?

@kuhnroyal
Copy link
Contributor

@wing328 wing328 added this to the 5.2.1 milestone Aug 13, 2021
@wing328 wing328 merged commit 55ff5a0 into OpenAPITools:master Aug 13, 2021
@wing328
Copy link
Member

wing328 commented Aug 13, 2021

As discussed, let's add test cases in a separate PR as we would like to include this PR in the upcoming v5.2.1 release this weekend.

@agilob agilob mentioned this pull request Aug 14, 2021
5 tasks
@agilob
Copy link
Contributor

agilob commented Aug 14, 2021

Opened PR #10154

ekilmer added a commit to ekilmer/openapi-generator that referenced this pull request Aug 16, 2021
* master: (849 commits)
  Don't use encodeCollectionQueryParameter on maps (OpenAPITools#10116)
  Fixed the utc time issue for httpSigning auth. (OpenAPITools#10139)
  [dart][dio] Update built_value to =>8.1.0 (OpenAPITools#10122)
  Add Inquisico to list of generator users (OpenAPITools#10142)
  add my companies to README (OpenAPITools#10146)
  [C][Client] Allocate memory for the element of array when the type is number (OpenAPITools#10124)
  update samples
  Fixed typo in csharp-netcore httpclient generated code (OpenAPITools#10119)
  Typescript-angular: Added missing semi colon to interface export in `apis.ts` template file. (OpenAPITools#10121)
  Fix issue 10020: [BUG] [typescript-angular] Add "header" to reserved words (OpenAPITools#10091)
  Add missing samples for OpenAPITools#9857
  [typescript] FIX: Generate documentation and examples OpenAPITools#9413 (OpenAPITools#9857)
  Feat adds has discriminator with non empty mapping (OpenAPITools#9667)
  Add switches (authentication collections) to support files (OpenAPITools#9884)
  [dart-dio-next] improve encodeCollectionQueryParameter to handle cases where collectionFormat is null (OpenAPITools#10105)
  [go-server] Feat: add required assertions to models (OpenAPITools#10068)
  [dart2] Include request body on DELETE call (OpenAPITools#10100)
  Make php's array a primitive (OpenAPITools#10093)
  Fix typo (preffer -> prefer) (OpenAPITools#10098)
  Fix typo on rust client (OpenAPITools#10096)
  ...
@ahmednfwela ahmednfwela deleted the dart-dio-next/dont-encodeCollectionQueryParameter-for-maps branch August 18, 2021 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants