c# - 通过 GET 方法发送字符串列表参数
问题描述
我有一个 Angular 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; }
}
解决方案
该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 });
}
推荐阅读
- antlr - ANTLR 不匹配空注释
- python - 无法在 C 程序中链接 Python 库
- azure - 尝试使用 springfox 制作 OpenID Oauth
- javascript - 为数组中的每个元素创建 html 元素(Angular)
- javascript - 使用 JavaScript 验证时,按钮未在 MVC 表单上触发
- mysql - 更新集,匹配单个列,单个查询中不同ID的多个值
- playframework - 先前进化变化的行为
- arrays - 使用 msgbox 循环遍历范围
- python - Python按线条效果打字
- heroku - 增加 Heroku 的内存与发电机数量?