Угловая отправка параметра списка строк методом GET - PullRequest
0 голосов
/ 18 декабря 2018

У меня угловой проект 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 Ответ

0 голосов
/ 18 декабря 2018

Атрибут FromQuery добавит все параметры запроса, соответствующие fruits=value из строки запроса, в список Fruits.

Следовательно, составьте параметры как

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 });
}
...