-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[CSHARP] Default headers overwritten instead of duplicated | Body par… #20290
base: master
Are you sure you want to change the base?
Conversation
…ameter in post request serialized
Just FYI, running on a windows environment causes the \ and / differences as well as line ending changes which the build bot notices. I had to run my builds in a WSL environment which made the changes much cleaner. |
i've flied #20415 with updated samples. let's see if all the tests pass |
https://github.com/OpenAPITools/openapi-generator/actions/runs/12668462049/job/35310177390 CI tests with updated samples failed - particularly for .net standard 2.0 samples. @maciejcymanski132 can you please take a look when you've time? UPDATE: the CI test failure has nothing to do with this PR. I address it in #20421 instead. |
can you please elaborate on the issue with examples? |
FYI. Merged #20421 to fix the duplicated header issue |
FYI. We do have integration tests in-place to ensure the POST with request body (e.g. Pet) works: https://github.com/OpenAPITools/openapi-generator/blob/master/samples/client/petstore/csharp/restsharp/standard2.0/Petstore/src/Org.OpenAPITools.Test/Api/PetApiTests.cs#L222 |
@@ -403,7 +403,7 @@ namespace {{packageName}}.{{apiPackage}} | |||
{{/required}} | |||
{{/formParams}} | |||
{{#bodyParam}} | |||
localVarRequestOptions.Data = {{paramName}}; | |||
localVarRequestOptions.Data = {{packageName}}.Client.ClientUtils.Serialize({{paramName}}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's serialized later in ApiClient.cs for "JSON" related payload:
openapi-generator/modules/openapi-generator/src/main/resources/csharp/ApiClient.mustache
Line 157 in 4e24cf5
contentType.Value.EndsWith("json", StringComparison.InvariantCultureIgnoreCase) || |
does your content type ends with json
?
@mandrean @shibayan @Blackclaws
Hello,
I fixed two issues I ran into recently.
First, when both the default configuration and the request options added the same header (like Authorization), the header was duplicated. Now, the request options override the default headers so that the header only appears once.
Second, there was a problem with how POST request bodies were being serialized. They were missing quotes and other formatting details, causing errors on the server. I’ve updated the serialization process to ensure the body is formatted correctly.
Please let me know if you need any changes.
PR checklist
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*
.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master
(upcoming7.x.0
minor release - breaking changes with fallbacks),8.0.x
(breaking changes without fallbacks)