Fix HTTP request snippet's handling of query strings and params

Closes gh-763
This commit is contained in:
Andy Wilkinson
2022-01-10 14:31:03 +00:00
parent 90e0721b7a
commit d4d83f293a
2 changed files with 11 additions and 2 deletions

View File

@@ -134,7 +134,7 @@ public class HttpRequestSnippet extends TemplatedSnippet {
}
else if (isPutOrPost(request)) {
if (request.getParts().isEmpty()) {
String queryString = request.getParameters().toQueryString();
String queryString = request.getParameters().getUniqueParameters(request.getUri()).toQueryString();
if (StringUtils.hasText(queryString)) {
writer.println();
writer.print(queryString);
@@ -206,7 +206,8 @@ public class HttpRequestSnippet extends TemplatedSnippet {
private boolean requiresFormEncodingContentTypeHeader(OperationRequest request) {
return request.getHeaders().get(HttpHeaders.CONTENT_TYPE) == null && isPutOrPost(request)
&& (!request.getParameters().isEmpty() && !includeParametersInUri(request));
&& !request.getParameters().getUniqueParameters(request.getUri()).isEmpty()
&& !includeParametersInUri(request);
}
private Map<String, String> header(String name, String value) {