Skip to content

[Spring] fix datatype for non-multipart file request body - #2271

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature
Mar 7, 2019
Merged

[Spring] fix datatype for non-multipart file request body#2271
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature

Conversation

@quackes

Copy link
Copy Markdown
Contributor

fixes#2191

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh, ./bin/security/{LANG}-petstore.sh and ./bin/openapi3/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

The distinction between the following cases was leading to compile errors in the generated code

adressing request body as single file:

requestBody:
content:
application/octet-stream:
schema:
type: stringformat: binary

and files in multipart/form-data requests:

requestBody:
content: multipart/form-data:
schema:
type: objectproperties:
id: type: stringformat: uuidprofileImage: type: stringformat: binary

(as described here

I found out, that internally multipart parameters are handled in formParams, where the "raw" body is handled in bodyParams.
In the template for formParams is a special case for files in multipart, that was also used for rendering the delegate methods signature.
But request bodies as single file were ignored in that case.

I added the distinction in the template part for the delegate methods signature.

I invoked the sample generation scripts, they did not change any files.

@bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01)

@auto-labeler

Copy link
Copy Markdown

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch 4 times, most recently from 8f1e6a3 to 0a86badCompareFebruary 28, 2019 22:31
@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch from 0a86bad to b3fabd7CompareFebruary 28, 2019 22:37
@wing328wing328 added this to the 4.0.0 milestone Mar 7, 2019

@wing328wing328 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Tested locally and didn't notice any issue.

@wing328wing328 changed the title [java]: fix datatype for non-multipart file request body[Spring] fix datatype for non-multipart file request bodyMar 7, 2019
@wing328
wing328 merged commit 9348636 into OpenAPITools:masterMar 7, 2019
jimschubert added a commit to jimschubert/openapi-generator that referenced this pull request Mar 9, 2019
* master: (758 commits)
Add support for free form requests (OpenAPITools#2288)
[typescript-rxjs] drop unneeded function wrapping (OpenAPITools#2332)
[typescript-fetch] Guard array mapping against undefined on optional array model properties (OpenAPITools#2324)
Fix regex in Python server model code (OpenAPITools#2314)
Add .travis.yml and Gemfile.lock to ruby security test folder (OpenAPITools#2330)
Add a link to CSDN article (OpenAPITools#2331)
[Maven] fix Spaces in Windows user path breaks build on test goal (OpenAPITools#2318)
[PHP] fix bad links in Model docs (OpenAPITools#2316)
[java]: fix datatype for non-multipart file request body (OpenAPITools#2271)
Removed JFCote from core team (OpenAPITools#2315)
[R sample] fix CircleCI error of outdated sample (OpenAPITools#2313)
[Java] Bean Validation for decimalmin/max incorrect when exclusive set (OpenAPITools#2115)
Java Spring : fix defaultValue annotation double quoted in api operation (OpenAPITools#2267)
Java RESTEASY : fix defaultValue annotation double quoted in api operation (OpenAPITools#2268)
[PHP] Username checks OpenAPITools#1408 (OpenAPITools#1892)
[typescript-fetch] remove namespaces in enums (OpenAPITools#2123)
[java-server-msf4j] fix and upgrade (OpenAPITools#2303)
fix test script path in CONTRIBUTING.md (OpenAPITools#2290)
Dart queryargs (OpenAPITools#2250)
add Blueplanet language (OpenAPITools#2184)
...
@anuhyapolisetti

Copy link
Copy Markdown

We still see this issue for the generated Api and ApiDelegate files, they have different request body types (Resource/MultipartFile), which is resulting in compilation errors. opened a new issue at #3905

Sign up for freeto 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.

[BUG][Java][Server:Spring-boot] File upload spec (application/octet-stream) generates MultiPartFile Delegate

3 participants

@quackes@anuhyapolisetti@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
[Spring] fix datatype for non-multipart file request body by quackes · Pull Request #2271 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Spring] fix datatype for non-multipart file request body - #2271

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature
Mar 7, 2019
Merged

[Spring] fix datatype for non-multipart file request body#2271
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature

Conversation

@quackes

Copy link
Copy Markdown
Contributor

fixes#2191

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh, ./bin/security/{LANG}-petstore.sh and ./bin/openapi3/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

The distinction between the following cases was leading to compile errors in the generated code

adressing request body as single file:

requestBody:
content:
application/octet-stream:
schema:
type: stringformat: binary

and files in multipart/form-data requests:

requestBody:
content: multipart/form-data:
schema:
type: objectproperties:
id: type: stringformat: uuidprofileImage: type: stringformat: binary

(as described here

I found out, that internally multipart parameters are handled in formParams, where the "raw" body is handled in bodyParams.
In the template for formParams is a special case for files in multipart, that was also used for rendering the delegate methods signature.
But request bodies as single file were ignored in that case.

I added the distinction in the template part for the delegate methods signature.

I invoked the sample generation scripts, they did not change any files.

@bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01)

@auto-labeler

Copy link
Copy Markdown

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch 4 times, most recently from 8f1e6a3 to 0a86badCompareFebruary 28, 2019 22:31
@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch from 0a86bad to b3fabd7CompareFebruary 28, 2019 22:37
@wing328wing328 added this to the 4.0.0 milestone Mar 7, 2019

@wing328wing328 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Tested locally and didn't notice any issue.

@wing328wing328 changed the title [java]: fix datatype for non-multipart file request body[Spring] fix datatype for non-multipart file request bodyMar 7, 2019
@wing328
wing328 merged commit 9348636 into OpenAPITools:masterMar 7, 2019
jimschubert added a commit to jimschubert/openapi-generator that referenced this pull request Mar 9, 2019
* master: (758 commits)
Add support for free form requests (OpenAPITools#2288)
[typescript-rxjs] drop unneeded function wrapping (OpenAPITools#2332)
[typescript-fetch] Guard array mapping against undefined on optional array model properties (OpenAPITools#2324)
Fix regex in Python server model code (OpenAPITools#2314)
Add .travis.yml and Gemfile.lock to ruby security test folder (OpenAPITools#2330)
Add a link to CSDN article (OpenAPITools#2331)
[Maven] fix Spaces in Windows user path breaks build on test goal (OpenAPITools#2318)
[PHP] fix bad links in Model docs (OpenAPITools#2316)
[java]: fix datatype for non-multipart file request body (OpenAPITools#2271)
Removed JFCote from core team (OpenAPITools#2315)
[R sample] fix CircleCI error of outdated sample (OpenAPITools#2313)
[Java] Bean Validation for decimalmin/max incorrect when exclusive set (OpenAPITools#2115)
Java Spring : fix defaultValue annotation double quoted in api operation (OpenAPITools#2267)
Java RESTEASY : fix defaultValue annotation double quoted in api operation (OpenAPITools#2268)
[PHP] Username checks OpenAPITools#1408 (OpenAPITools#1892)
[typescript-fetch] remove namespaces in enums (OpenAPITools#2123)
[java-server-msf4j] fix and upgrade (OpenAPITools#2303)
fix test script path in CONTRIBUTING.md (OpenAPITools#2290)
Dart queryargs (OpenAPITools#2250)
add Blueplanet language (OpenAPITools#2184)
...
@anuhyapolisetti

Copy link
Copy Markdown

We still see this issue for the generated Api and ApiDelegate files, they have different request body types (Resource/MultipartFile), which is resulting in compilation errors. opened a new issue at #3905

Sign up for freeto 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.

[BUG][Java][Server:Spring-boot] File upload spec (application/octet-stream) generates MultiPartFile Delegate

3 participants

@quackes@anuhyapolisetti@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [Spring] fix datatype for non-multipart file request body by quackes · Pull Request #2271 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Spring] fix datatype for non-multipart file request body - #2271

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature
Mar 7, 2019
Merged

[Spring] fix datatype for non-multipart file request body#2271
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature

Conversation

@quackes

Copy link
Copy Markdown
Contributor

fixes#2191

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh, ./bin/security/{LANG}-petstore.sh and ./bin/openapi3/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

The distinction between the following cases was leading to compile errors in the generated code

adressing request body as single file:

requestBody:
content:
application/octet-stream:
schema:
type: stringformat: binary

and files in multipart/form-data requests:

requestBody:
content: multipart/form-data:
schema:
type: objectproperties:
id: type: stringformat: uuidprofileImage: type: stringformat: binary

(as described here

I found out, that internally multipart parameters are handled in formParams, where the "raw" body is handled in bodyParams.
In the template for formParams is a special case for files in multipart, that was also used for rendering the delegate methods signature.
But request bodies as single file were ignored in that case.

I added the distinction in the template part for the delegate methods signature.

I invoked the sample generation scripts, they did not change any files.

@bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01)

@auto-labeler

Copy link
Copy Markdown

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch 4 times, most recently from 8f1e6a3 to 0a86badCompareFebruary 28, 2019 22:31
@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch from 0a86bad to b3fabd7CompareFebruary 28, 2019 22:37
@wing328wing328 added this to the 4.0.0 milestone Mar 7, 2019

@wing328wing328 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Tested locally and didn't notice any issue.

@wing328wing328 changed the title [java]: fix datatype for non-multipart file request body[Spring] fix datatype for non-multipart file request bodyMar 7, 2019
@wing328
wing328 merged commit 9348636 into OpenAPITools:masterMar 7, 2019
jimschubert added a commit to jimschubert/openapi-generator that referenced this pull request Mar 9, 2019
* master: (758 commits)
Add support for free form requests (OpenAPITools#2288)
[typescript-rxjs] drop unneeded function wrapping (OpenAPITools#2332)
[typescript-fetch] Guard array mapping against undefined on optional array model properties (OpenAPITools#2324)
Fix regex in Python server model code (OpenAPITools#2314)
Add .travis.yml and Gemfile.lock to ruby security test folder (OpenAPITools#2330)
Add a link to CSDN article (OpenAPITools#2331)
[Maven] fix Spaces in Windows user path breaks build on test goal (OpenAPITools#2318)
[PHP] fix bad links in Model docs (OpenAPITools#2316)
[java]: fix datatype for non-multipart file request body (OpenAPITools#2271)
Removed JFCote from core team (OpenAPITools#2315)
[R sample] fix CircleCI error of outdated sample (OpenAPITools#2313)
[Java] Bean Validation for decimalmin/max incorrect when exclusive set (OpenAPITools#2115)
Java Spring : fix defaultValue annotation double quoted in api operation (OpenAPITools#2267)
Java RESTEASY : fix defaultValue annotation double quoted in api operation (OpenAPITools#2268)
[PHP] Username checks OpenAPITools#1408 (OpenAPITools#1892)
[typescript-fetch] remove namespaces in enums (OpenAPITools#2123)
[java-server-msf4j] fix and upgrade (OpenAPITools#2303)
fix test script path in CONTRIBUTING.md (OpenAPITools#2290)
Dart queryargs (OpenAPITools#2250)
add Blueplanet language (OpenAPITools#2184)
...
@anuhyapolisetti

Copy link
Copy Markdown

We still see this issue for the generated Api and ApiDelegate files, they have different request body types (Resource/MultipartFile), which is resulting in compilation errors. opened a new issue at #3905

Sign up for freeto 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.

[BUG][Java][Server:Spring-boot] File upload spec (application/octet-stream) generates MultiPartFile Delegate

3 participants

@quackes@anuhyapolisetti@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [Spring] fix datatype for non-multipart file request body by quackes · Pull Request #2271 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Spring] fix datatype for non-multipart file request body - #2271

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature
Mar 7, 2019
Merged

[Spring] fix datatype for non-multipart file request body#2271
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature

Conversation

@quackes

Copy link
Copy Markdown
Contributor

fixes#2191

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh, ./bin/security/{LANG}-petstore.sh and ./bin/openapi3/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

The distinction between the following cases was leading to compile errors in the generated code

adressing request body as single file:

requestBody:
content:
application/octet-stream:
schema:
type: stringformat: binary

and files in multipart/form-data requests:

requestBody:
content: multipart/form-data:
schema:
type: objectproperties:
id: type: stringformat: uuidprofileImage: type: stringformat: binary

(as described here

I found out, that internally multipart parameters are handled in formParams, where the "raw" body is handled in bodyParams.
In the template for formParams is a special case for files in multipart, that was also used for rendering the delegate methods signature.
But request bodies as single file were ignored in that case.

I added the distinction in the template part for the delegate methods signature.

I invoked the sample generation scripts, they did not change any files.

@bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01)

@auto-labeler

Copy link
Copy Markdown

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch 4 times, most recently from 8f1e6a3 to 0a86badCompareFebruary 28, 2019 22:31
@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch from 0a86bad to b3fabd7CompareFebruary 28, 2019 22:37
@wing328wing328 added this to the 4.0.0 milestone Mar 7, 2019

@wing328wing328 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Tested locally and didn't notice any issue.

@wing328wing328 changed the title [java]: fix datatype for non-multipart file request body[Spring] fix datatype for non-multipart file request bodyMar 7, 2019
@wing328
wing328 merged commit 9348636 into OpenAPITools:masterMar 7, 2019
jimschubert added a commit to jimschubert/openapi-generator that referenced this pull request Mar 9, 2019
* master: (758 commits)
Add support for free form requests (OpenAPITools#2288)
[typescript-rxjs] drop unneeded function wrapping (OpenAPITools#2332)
[typescript-fetch] Guard array mapping against undefined on optional array model properties (OpenAPITools#2324)
Fix regex in Python server model code (OpenAPITools#2314)
Add .travis.yml and Gemfile.lock to ruby security test folder (OpenAPITools#2330)
Add a link to CSDN article (OpenAPITools#2331)
[Maven] fix Spaces in Windows user path breaks build on test goal (OpenAPITools#2318)
[PHP] fix bad links in Model docs (OpenAPITools#2316)
[java]: fix datatype for non-multipart file request body (OpenAPITools#2271)
Removed JFCote from core team (OpenAPITools#2315)
[R sample] fix CircleCI error of outdated sample (OpenAPITools#2313)
[Java] Bean Validation for decimalmin/max incorrect when exclusive set (OpenAPITools#2115)
Java Spring : fix defaultValue annotation double quoted in api operation (OpenAPITools#2267)
Java RESTEASY : fix defaultValue annotation double quoted in api operation (OpenAPITools#2268)
[PHP] Username checks OpenAPITools#1408 (OpenAPITools#1892)
[typescript-fetch] remove namespaces in enums (OpenAPITools#2123)
[java-server-msf4j] fix and upgrade (OpenAPITools#2303)
fix test script path in CONTRIBUTING.md (OpenAPITools#2290)
Dart queryargs (OpenAPITools#2250)
add Blueplanet language (OpenAPITools#2184)
...
@anuhyapolisetti

Copy link
Copy Markdown

We still see this issue for the generated Api and ApiDelegate files, they have different request body types (Resource/MultipartFile), which is resulting in compilation errors. opened a new issue at #3905

Sign up for freeto 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.

[BUG][Java][Server:Spring-boot] File upload spec (application/octet-stream) generates MultiPartFile Delegate

3 participants

@quackes@anuhyapolisetti@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' [Spring] fix datatype for non-multipart file request body by quackes · Pull Request #2271 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Spring] fix datatype for non-multipart file request body - #2271

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature
Mar 7, 2019
Merged

[Spring] fix datatype for non-multipart file request body#2271
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature

Conversation

@quackes

Copy link
Copy Markdown
Contributor

fixes#2191

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh, ./bin/security/{LANG}-petstore.sh and ./bin/openapi3/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

The distinction between the following cases was leading to compile errors in the generated code

adressing request body as single file:

requestBody:
content:
application/octet-stream:
schema:
type: stringformat: binary

and files in multipart/form-data requests:

requestBody:
content: multipart/form-data:
schema:
type: objectproperties:
id: type: stringformat: uuidprofileImage: type: stringformat: binary

(as described here

I found out, that internally multipart parameters are handled in formParams, where the "raw" body is handled in bodyParams.
In the template for formParams is a special case for files in multipart, that was also used for rendering the delegate methods signature.
But request bodies as single file were ignored in that case.

I added the distinction in the template part for the delegate methods signature.

I invoked the sample generation scripts, they did not change any files.

@bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01)

@auto-labeler

Copy link
Copy Markdown

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch 4 times, most recently from 8f1e6a3 to 0a86badCompareFebruary 28, 2019 22:31
@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch from 0a86bad to b3fabd7CompareFebruary 28, 2019 22:37
@wing328wing328 added this to the 4.0.0 milestone Mar 7, 2019

@wing328wing328 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Tested locally and didn't notice any issue.

@wing328wing328 changed the title [java]: fix datatype for non-multipart file request body[Spring] fix datatype for non-multipart file request bodyMar 7, 2019
@wing328
wing328 merged commit 9348636 into OpenAPITools:masterMar 7, 2019
jimschubert added a commit to jimschubert/openapi-generator that referenced this pull request Mar 9, 2019
* master: (758 commits)
Add support for free form requests (OpenAPITools#2288)
[typescript-rxjs] drop unneeded function wrapping (OpenAPITools#2332)
[typescript-fetch] Guard array mapping against undefined on optional array model properties (OpenAPITools#2324)
Fix regex in Python server model code (OpenAPITools#2314)
Add .travis.yml and Gemfile.lock to ruby security test folder (OpenAPITools#2330)
Add a link to CSDN article (OpenAPITools#2331)
[Maven] fix Spaces in Windows user path breaks build on test goal (OpenAPITools#2318)
[PHP] fix bad links in Model docs (OpenAPITools#2316)
[java]: fix datatype for non-multipart file request body (OpenAPITools#2271)
Removed JFCote from core team (OpenAPITools#2315)
[R sample] fix CircleCI error of outdated sample (OpenAPITools#2313)
[Java] Bean Validation for decimalmin/max incorrect when exclusive set (OpenAPITools#2115)
Java Spring : fix defaultValue annotation double quoted in api operation (OpenAPITools#2267)
Java RESTEASY : fix defaultValue annotation double quoted in api operation (OpenAPITools#2268)
[PHP] Username checks OpenAPITools#1408 (OpenAPITools#1892)
[typescript-fetch] remove namespaces in enums (OpenAPITools#2123)
[java-server-msf4j] fix and upgrade (OpenAPITools#2303)
fix test script path in CONTRIBUTING.md (OpenAPITools#2290)
Dart queryargs (OpenAPITools#2250)
add Blueplanet language (OpenAPITools#2184)
...
@anuhyapolisetti

Copy link
Copy Markdown

We still see this issue for the generated Api and ApiDelegate files, they have different request body types (Resource/MultipartFile), which is resulting in compilation errors. opened a new issue at #3905

Sign up for freeto 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.

[BUG][Java][Server:Spring-boot] File upload spec (application/octet-stream) generates MultiPartFile Delegate

3 participants

@quackes@anuhyapolisetti@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [Spring] fix datatype for non-multipart file request body by quackes · Pull Request #2271 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Spring] fix datatype for non-multipart file request body - #2271

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature
Mar 7, 2019
Merged

[Spring] fix datatype for non-multipart file request body#2271
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature

Conversation

@quackes

Copy link
Copy Markdown
Contributor

fixes#2191

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh, ./bin/security/{LANG}-petstore.sh and ./bin/openapi3/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

The distinction between the following cases was leading to compile errors in the generated code

adressing request body as single file:

requestBody:
content:
application/octet-stream:
schema:
type: stringformat: binary

and files in multipart/form-data requests:

requestBody:
content: multipart/form-data:
schema:
type: objectproperties:
id: type: stringformat: uuidprofileImage: type: stringformat: binary

(as described here

I found out, that internally multipart parameters are handled in formParams, where the "raw" body is handled in bodyParams.
In the template for formParams is a special case for files in multipart, that was also used for rendering the delegate methods signature.
But request bodies as single file were ignored in that case.

I added the distinction in the template part for the delegate methods signature.

I invoked the sample generation scripts, they did not change any files.

@bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01)

@auto-labeler

Copy link
Copy Markdown

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch 4 times, most recently from 8f1e6a3 to 0a86badCompareFebruary 28, 2019 22:31
@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch from 0a86bad to b3fabd7CompareFebruary 28, 2019 22:37
@wing328wing328 added this to the 4.0.0 milestone Mar 7, 2019

@wing328wing328 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Tested locally and didn't notice any issue.

@wing328wing328 changed the title [java]: fix datatype for non-multipart file request body[Spring] fix datatype for non-multipart file request bodyMar 7, 2019
@wing328
wing328 merged commit 9348636 into OpenAPITools:masterMar 7, 2019
jimschubert added a commit to jimschubert/openapi-generator that referenced this pull request Mar 9, 2019
* master: (758 commits)
Add support for free form requests (OpenAPITools#2288)
[typescript-rxjs] drop unneeded function wrapping (OpenAPITools#2332)
[typescript-fetch] Guard array mapping against undefined on optional array model properties (OpenAPITools#2324)
Fix regex in Python server model code (OpenAPITools#2314)
Add .travis.yml and Gemfile.lock to ruby security test folder (OpenAPITools#2330)
Add a link to CSDN article (OpenAPITools#2331)
[Maven] fix Spaces in Windows user path breaks build on test goal (OpenAPITools#2318)
[PHP] fix bad links in Model docs (OpenAPITools#2316)
[java]: fix datatype for non-multipart file request body (OpenAPITools#2271)
Removed JFCote from core team (OpenAPITools#2315)
[R sample] fix CircleCI error of outdated sample (OpenAPITools#2313)
[Java] Bean Validation for decimalmin/max incorrect when exclusive set (OpenAPITools#2115)
Java Spring : fix defaultValue annotation double quoted in api operation (OpenAPITools#2267)
Java RESTEASY : fix defaultValue annotation double quoted in api operation (OpenAPITools#2268)
[PHP] Username checks OpenAPITools#1408 (OpenAPITools#1892)
[typescript-fetch] remove namespaces in enums (OpenAPITools#2123)
[java-server-msf4j] fix and upgrade (OpenAPITools#2303)
fix test script path in CONTRIBUTING.md (OpenAPITools#2290)
Dart queryargs (OpenAPITools#2250)
add Blueplanet language (OpenAPITools#2184)
...
@anuhyapolisetti

Copy link
Copy Markdown

We still see this issue for the generated Api and ApiDelegate files, they have different request body types (Resource/MultipartFile), which is resulting in compilation errors. opened a new issue at #3905

Sign up for freeto 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.

[BUG][Java][Server:Spring-boot] File upload spec (application/octet-stream) generates MultiPartFile Delegate

3 participants

@quackes@anuhyapolisetti@wing328
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); [Spring] fix datatype for non-multipart file request body by quackes · Pull Request #2271 · OpenAPITools/openapi-generator · GitHub
Skip to content

[Spring] fix datatype for non-multipart file request body - #2271

Merged
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature
Mar 7, 2019
Merged

[Spring] fix datatype for non-multipart file request body#2271
wing328 merged 1 commit into
OpenAPITools:masterfrom
quackes:java-fix-binary-body-method-signature

Conversation

@quackes

Copy link
Copy Markdown
Contributor

fixes#2191

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh, ./bin/security/{LANG}-petstore.sh and ./bin/openapi3/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.4.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Description of the PR

The distinction between the following cases was leading to compile errors in the generated code

adressing request body as single file:

requestBody:
content:
application/octet-stream:
schema:
type: stringformat: binary

and files in multipart/form-data requests:

requestBody:
content: multipart/form-data:
schema:
type: objectproperties:
id: type: stringformat: uuidprofileImage: type: stringformat: binary

(as described here

I found out, that internally multipart parameters are handled in formParams, where the "raw" body is handled in bodyParams.
In the template for formParams is a special case for files in multipart, that was also used for rendering the delegate methods signature.
But request bodies as single file were ignored in that case.

I added the distinction in the template part for the delegate methods signature.

I invoked the sample generation scripts, they did not change any files.

@bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01)

@auto-labeler

Copy link
Copy Markdown

👍 Thanks for opening this issue!
🏷 I have applied any labels matching special text in your issue.

The team will review the labels and make any necessary changes.

@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch 4 times, most recently from 8f1e6a3 to 0a86badCompareFebruary 28, 2019 22:31
@quackes
quackesforce-pushed the java-fix-binary-body-method-signature branch from 0a86bad to b3fabd7CompareFebruary 28, 2019 22:37
@wing328wing328 added this to the 4.0.0 milestone Mar 7, 2019

@wing328wing328 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Tested locally and didn't notice any issue.

@wing328wing328 changed the title [java]: fix datatype for non-multipart file request body[Spring] fix datatype for non-multipart file request bodyMar 7, 2019
@wing328
wing328 merged commit 9348636 into OpenAPITools:masterMar 7, 2019
jimschubert added a commit to jimschubert/openapi-generator that referenced this pull request Mar 9, 2019
* master: (758 commits)
Add support for free form requests (OpenAPITools#2288)
[typescript-rxjs] drop unneeded function wrapping (OpenAPITools#2332)
[typescript-fetch] Guard array mapping against undefined on optional array model properties (OpenAPITools#2324)
Fix regex in Python server model code (OpenAPITools#2314)
Add .travis.yml and Gemfile.lock to ruby security test folder (OpenAPITools#2330)
Add a link to CSDN article (OpenAPITools#2331)
[Maven] fix Spaces in Windows user path breaks build on test goal (OpenAPITools#2318)
[PHP] fix bad links in Model docs (OpenAPITools#2316)
[java]: fix datatype for non-multipart file request body (OpenAPITools#2271)
Removed JFCote from core team (OpenAPITools#2315)
[R sample] fix CircleCI error of outdated sample (OpenAPITools#2313)
[Java] Bean Validation for decimalmin/max incorrect when exclusive set (OpenAPITools#2115)
Java Spring : fix defaultValue annotation double quoted in api operation (OpenAPITools#2267)
Java RESTEASY : fix defaultValue annotation double quoted in api operation (OpenAPITools#2268)
[PHP] Username checks OpenAPITools#1408 (OpenAPITools#1892)
[typescript-fetch] remove namespaces in enums (OpenAPITools#2123)
[java-server-msf4j] fix and upgrade (OpenAPITools#2303)
fix test script path in CONTRIBUTING.md (OpenAPITools#2290)
Dart queryargs (OpenAPITools#2250)
add Blueplanet language (OpenAPITools#2184)
...
@anuhyapolisetti

Copy link
Copy Markdown

We still see this issue for the generated Api and ApiDelegate files, they have different request body types (Resource/MultipartFile), which is resulting in compilation errors. opened a new issue at #3905

Sign up for freeto 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.

[BUG][Java][Server:Spring-boot] File upload spec (application/octet-stream) generates MultiPartFile Delegate

3 participants

@quackes@anuhyapolisetti@wing328