是否可以在控制器中解析复杂类型?

时间:2017-01-23 13:01:38

标签: c# rest .net-core asp.net-mvc-controller

我在文档中找不到这个,所有的例子在输入中都有原始类型,比如int id。

我确实找到了一个传递Date的例子,我想也许控制器知道如何解析UNIX时间戳?

我尝试了以下内容:

    [HttpGet]
    public async Task<IActionResult> Get([FromQuery] IEnumerable<int> ids)
    {
        IEnumerable<User> userIds = await _userRepository.FindByAsync(user => ids.Contains(user.Id), "");
        if (userIds == null) return NotFound();
        IEnumerable<UserDto> userDtos = players.Select(Mapper.Map<UserDto>);
        return Json(userDtos);
    }

但是当我试图用/ api / users / get调用它时,我得到了无效的modelState?ids = 1,2,4,5,6

所以它不知道如何解析IEnumerable?所以我有一些具体的问题:

  1. 我应该将一个集合作为字符串接收,拆分为','并将其转换为整数?我应该创建一些中间件,在它甚至击中控制器之前执行此验证/转换或?
  2. 2.有人如何在控制器的日期字段中输入?是否记录了支持哪些复杂类型?或者我看到的人员示例代码在幕后做了些什么?

0 个答案:

没有答案