角度发送字符串列表参数通过GET方法

时间:2018-12-18 12:00:24

标签: c# angular asp.net-core angular6 asp.net-core-webapi-2.1

我有一个角度为6的项目。我正在将请求发送到.Net Core 2.1 Web API。我正在发送如下所示的水果清单。但是,我的数据仅以"'apple', 'orange', 'banana'"之类的形式进入c#。但是,我想要三个不同的字符串。我该如何实现? 请不要使用“ 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 :(得分:3)

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