Если вы передаете ваш ids
в теле, то добавьте [FromBody]
:
[HttpPost]
public IHttpActionResult DetailsByIds([FromBody] int[] documentIds)
{
}
В противном случае, если вы отправите свои идентификаторы в URI:
[HttpPost]
public IHttpActionResult DetailsByIds([FromUri] int[] documentIds)
{
}
UPDATE:
Чтобы получить перечисляемые параметры, необходимо создать следующую строку запроса:
localhost:56888/api/documentupload/DetailsByIds?
detailsByIds=123&detailsByIds124&detailsByIds125
На MSDN есть отличная статья о параметрах Привязка параметров в ASP.NET Web API
Вы можете использовать HttpParams
класс для создания параметров. Поскольку ваше имя параметра совпадает, вы можете создать цикл. Это способ передачи URL-аргументов в HTTP-запрос:
import { HttpParams, HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) { }
let params = new HttpParams();
params = params.append('var1', val1);
params = params.append('var2', val2);
this.http.get(StaticSettings.BASE_URL, {params: params}).subscribe(...);
Угловые документы о передаче параметров в запрос HTTP.
ОБНОВЛЕНИЕ 1:
Позвольте мне показать пример, как можно добавить параметры:
const array = [1, 2, 3, 4, 5];
let params = new HttpParams();
array.forEach(id => {
params.append('detailsByIds', id);
});