【发布时间】:2019-12-06 12:55:23
【问题描述】:
我正在尝试将过滤器应用到我的方法中,但在尝试使用大摇大摆发送参数时遇到问题...
这是我的方法
[HttpGet]
[Route("anyRoute")]
[ProducesResponseType(typeof(List<ViewModel>), (int)HttpStatusCode.OK)]
[ProducesResponseType((int)HttpStatusCode.NoContent)]
public async Task<IActionResult> GetMehod([FromQuery] Filter filter)
{
var result = await _service.GetApproved(filter);
if (result.Count() == 0)
return NoContent();
return Ok(result);
}
这是我的过滤器
public class Filter
{
public string Filter { get; set; }
}
当我尝试调试时,我的参数为空,我的过滤器不起作用
【问题讨论】:
-
我认为您需要提供更多信息。您的请求是什么样的?
-
请同时添加您的查询。似乎它无法解析它。
-
当你提出我的要求时,你的意思是
http://localhost:5564/api/v1/TimeEntries/toBill?Filter=MockedName -
@RavelSbrissaOkada 那么,您想将字符串(“MockedName”)映射到对象吗?尝试更改您的方法签名以采用字符串参数(例如 GetMethod([FromQuery]string filter)。
-
@RavelSbrissaOkada 您在请求中传递的参数“MockedName”只是一个字符串。现在,框架可以通过您的请求/代码来理解您实际上是指将其映射到类的某个属性。