0
Hammer created
Hello, I'm running ASP Net Zero dot new core + angular 13.0 nswag does not appeat to take optional fields into consideration when creating the proxy services.
public class GetAllContractsInput : PagedAndSortedResultRequestDto
{
public string Filter { get; set; }
public long? MaxNumberFilter { get; set; }
public long? MinNumberFilter { get; set; }
public DateTime? MaxSignedFilter { get; set; }
public DateTime? MinSignedFilter { get; set; }
public int? StatusFilter { get; set; }
public string CustomerLastNameFilter { get; set; }
public string DocumentURLFilter { get; set; }
}
Results in :
/**
* @param filter (optional)
* @param maxNumberFilter (optional)
* @param minNumberFilter (optional)
* @param maxSignedFilter (optional)
* @param minSignedFilter (optional)
* @param statusFilter (optional)
* @param customerLastNameFilter (optional)
* @param documentURLFilter (optional)
* @param sorting (optional)
* @param skipCount (optional)
* @param maxResultCount (optional)
* @return Success
*/
getAll(filter: string | undefined, maxNumberFilter: number | undefined, minNumberFilter: number | undefined, maxSignedFilter: DateTime | undefined, minSignedFilter: DateTime | undefined, statusFilter: number | undefined, customerLastNameFilter: string | undefined, documentURLFilter: string | undefined, sorting: string | undefined, skipCount: number | undefined, maxResultCount: number | undefined): Observable<PagedResultDtoOfGetContractForViewDto> {
let url_ = this.baseUrl + "/api/services/app/Contracts/GetAll?";
if (filter === null)
throw new Error("The parameter 'filter' cannot be null.");
else if (filter !== undefined)
url_ += "Filter=" + encodeURIComponent("" + filter) + "&";
if (maxNumberFilter === null)
throw new Error("The parameter 'maxNumberFilter' cannot be null.");
else if (maxNumberFilter !== undefined)
url_ += "MaxNumberFilter=" + encodeURIComponent("" + maxNumberFilter) + "&";
if (minNumberFilter === null)
throw new Error("The parameter 'minNumberFilter' cannot be null.");
else if (minNumberFilter !== undefined)
url_ += "MinNumberFilter=" + encodeURIComponent("" + minNumberFilter) + "&";
if (maxSignedFilter === null)
throw new Error("The parameter 'maxSignedFilter' cannot be null.");
else if (maxSignedFilter !== undefined)
url_ += "MaxSignedFilter=" + encodeURIComponent(maxSignedFilter ? "" + maxSignedFilter.toString() : "") + "&";
if (minSignedFilter === null)
throw new Error("The parameter 'minSignedFilter' cannot be null.");
else if (minSignedFilter !== undefined)
url_ += "MinSignedFilter=" + encodeURIComponent(minSignedFilter ? "" + minSignedFilter.toString() : "") + "&";
if (statusFilter === null)
throw new Error("The parameter 'statusFilter' cannot be null.");
else if (statusFilter !== undefined)
url_ += "StatusFilter=" + encodeURIComponent("" + statusFilter) + "&";
if (customerLastNameFilter === null)
throw new Error("The parameter 'customerLastNameFilter' cannot be null.");
else if (customerLastNameFilter !== undefined)
url_ += "CustomerLastNameFilter=" + encodeURIComponent("" + customerLastNameFilter) + "&";
if (documentURLFilter === null)
throw new Error("The parameter 'documentURLFilter' cannot be null.");
else if (documentURLFilter !== undefined)
url_ += "DocumentURLFilter=" + encodeURIComponent("" + documentURLFilter) + "&";
if (sorting === null)
throw new Error("The parameter 'sorting' cannot be null.");
else if (sorting !== undefined)
url_ += "Sorting=" + encodeURIComponent("" + sorting) + "&";
if (skipCount === null)
throw new Error("The parameter 'skipCount' cannot be null.");
else if (skipCount !== undefined)
url_ += "SkipCount=" + encodeURIComponent("" + skipCount) + "&";
if (maxResultCount === null)
throw new Error("The parameter 'maxResultCount' cannot be null.");
else if (maxResultCount !== undefined)
url_ += "MaxResultCount=" + encodeURIComponent("" + maxResultCount) + "&";
I would expect nullable parameters to be considered optional in the service proxy.
I see a similar problem face faced previously (https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/1528), but it appears to have reappeared.
Markdown is supported
Copy & paste or drag & drop images (max 30 MB per image)
1 Answer(s)
-
0
Hi @Hammer
Would you apply the changes made in this pr? If you set the "generateOptionalParameters" value to true in the nswag config file, the optional parameters will be marked nullable.
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image)