Угловая отправка параметра списка строк методом GET
У меня есть угловой проект 6. И я отправляю свой запрос в.Net Core 2.1 Web API. Я отправляю список фруктов, как показано ниже. Но мои данные поступают в C# только как один элемент, как "'apple', 'orange', 'banana'"
, Но я хочу три разные строки. Как мне этого добиться? Пожалуйста, не советуйте, используя метод "POST"
Угловая сторона
getFruitDetails() {
let params = new HttpParams();
params = params.append('fruitType', '35');
params = params.append('fruits', JSON.stringify(['apple', 'orange', 'banana']));
return this.http.get('https://localhost:5000/api/Fruit/GetFruitDetails', { params: params });
}
Сторона C#
public GetFruitDetails([FromQuery] FruitModel fruitModel)
{...}
public class FruitModel
{
public int FruitType { get; set; }
public List<string> Fruits { get; set; }
}
1 ответ
Решение
FromQuery
атрибут добавит все параметры запроса, соответствующие fruits=value
из строки запроса в список фруктов.
Поэтому составьте параметры как
getFruitDetails() {
let params = new HttpParams();
params = params.append('fruitType', '35');
params = params.append('fruits', 'apple');
params = params.append('fruits', 'orange');
params = params.append('fruits', 'banana');
return this.http.get('https://localhost:5000/api/Fruit/GetFruitDetails', { params: params });
}