NSwag
NSwag copied to clipboard
int array parameter issue
Hello
I have an action in controller that have array parameter with the following signature.
Task<IEnumerable<ChildBasic>> GetChildrenBasicInfo([FromRoute] int[] childrenIds)
Version 14 of NwagStudio has a problem generating the client it is generating as follows:
`
public virtual async System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<ChildBasic>> GetChildrenBasicInfoAsync(System.Collections.Generic.IEnumerable
var client_ = _httpClient;
var disposeClient_ = false;
try
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
request_.Method = new System.Net.Http.HttpMethod("GET");
request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
var urlBuilder_ = new System.Text.StringBuilder();
// Operation Path: "api/v2/Children/children-basic/{childrenIds}"
urlBuilder_.Append("api/v2/Children/children-basic/");
for (var i = 0; i < childrenIds.Length; i++)
{
if (i > 0) urlBuilder_.Append(',');
urlBuilder_.Append(ConvertToString(childrenIds[i], System.Globalization.CultureInfo.InvariantCulture));
}
`
It is using IEnumerable as parameter and then using ".Length" against it, the IEnumerable does not have .Length property.
Kindly advise.
@RicoSuter may you please help our APIs are broken now.
Hi,
I noticed the same issue.
Here is a snap of how the generated code has changed between versions:
Hi,
I've noticed the same and cant get around it with any settings or options. Looks to me like a small oversight, and this should be breaking everybody's clients right? As long as they use lists/collections/arrays somewhere in their API...
Hoping it will be fixed soon.
In the 13.20 release this works though.
This is broken on our side too, seems like major bug to not be adressed asap