Ошибка в конечной точке API при передаче массива целых чисел - PullRequest
0 голосов
/ 31 октября 2019

Я передаю массив целых чисел в ASP.NET Web API, но получаю сообщение об ошибке ниже.

"Элемент с тем же ключом уже добавлен."

Это моя конечная точка API:

[HttpGet]
[Route("api/Pen/ByPropertyIdList")]
public IQueryable<Pen> ListByPropertyIdList([FromUri] Int32[] propIds)
{
    Boolean? deleted = false;
    IQueryable < Pen > p = logic.ListByPropertyIdList(propIds, deleted).AsQueryable(); // I recieved the list of object perfectly
    return p; // returning them generates the error
}

Это URL, который я использую;

api/pen/ByPropertyIdList?propIds=12&propIds=348

Конечная точка принимает мой массив целых чисел, но в точке возврата она генерируетошибка. Я считаю, что это связано с propIds.

1 Ответ

1 голос
/ 31 октября 2019

Спасибо @LaurentLequenne!

Изменение IQueryable на IEnumerable решит проблему.

[HttpGet]
[Route("api/Pen/ByPropertyIdList")]
public IEnumerable<Pen> ListByPropertyIdList([FromUri] Int32[] propIds)
{
    Boolean? deleted = false;
    IEnumerable< Pen > p = logic.ListByPropertyIdList(propIds, deleted).AsEnumerable();
    return p;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...