C# 如何在HttpGet中传递Asp.net模型内核中的数组属性?
我有一个Asp.Net WebApi 2项目,现在已转换为Asp.Net Core 2.0 具有数组属性的HttpGet方法无法绑定模型 该模型在Asp.net Core 2.0中为空 (使用昂首阔步进行测试) 需要修改吗C# 如何在HttpGet中传递Asp.net模型内核中的数组属性?,c#,asp.net,asp.net-core,C#,Asp.net,Asp.net Core,我有一个Asp.Net WebApi 2项目,现在已转换为Asp.Net Core 2.0 具有数组属性的HttpGet方法无法绑定模型 该模型在Asp.net Core 2.0中为空 (使用昂首阔步进行测试) 需要修改吗 public class Customer { public string name { get; set; } public new string[] systemId { get; set; } } CustomerController.c
public class Customer
{
public string name { get; set; }
public new string[] systemId { get; set; }
}
CustomerController.cs
[HttpGet]
public IActionResult RetrieveData(Customer filters)
{
// code
在Asp.net WebApi2中,它工作正常,但在Asp.net核心值无法绑定的情况下,值为空
如果将其更改为[HttpPost],则可以正常工作,但为什么不将[HttpGet]与ASP.Net WebApi2一样工作。。Net core将其默认绑定更改为
FromBody
。因此,您的签名现在应该是:
[HttpGet]
public IActionResult RetrieveData([FromBody]Customer filters)
{
// code
并将其作为尸体发送
您还可以使用数据属性:FromQuery
您可以阅读本文:
干杯 提供一个可用于重现问题的。包括示例请求。@Neo,如何测试请求?我想你应该这样做:获取API/RetrieveData?name=SomeName&system\u id=1&system\u id=2是的,我会这样做的,谢谢。GET请求没有正文啊,正确,误读了!但是查询中的
仍然适用于您已接近答案的情况。请检查此属性并重新编写您的答案。这两个属性都是空的吗?您的url看起来怎么样?”