Угловая отправка параметра списка строк методом 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 });
}
Другие вопросы по тегам