【发布时间】:2017-07-17 12:43:40
【问题描述】:
在我的 API 模型绑定器获取请求中,我想将通过获取请求传递的逗号分隔字符串转换为列表。我只想对模型中的一个属性执行此操作,因此 IModelBinder 不是最好用的,也许是 TypeConverter?
我该怎么做呢?
你们中的一些人似乎对模糊的问题感到困惑。 我想在进行 api 调用之后在 http 中间件中添加映射。有许多方法,例如 itypeconverter、动作过滤器。这意味着我将不得不一遍又一遍地调用该方法。
所以如果我有一个名为
的 API 调用public IActionResult getUserConfigs(List<string>UserIds, list<int> permmisionIds)
他们发送请求,例如UserIds=1,2,3,4,5,如何插入中间件组件将字符串映射到列表。
这需要在点网核心项目中工作。
【问题讨论】:
-
我真的不明白这里的七票否决。问题是不是 “如何在C#中拆分字符串”。问题是 “在哪里以及如何注册一些接受来自 HTTP 请求的逗号分隔字符串并将其绑定到我的 Web API 模型的
List<T>属性的组件,而不必在整个地方重复解析” . -
正如我在问题中所说,我想设置模型绑定方法并重新映射通过 http 请求发送的输入字段,例如userIds=1,2,3 将其映射到列表。
-
为什么要发送 JSON 属性
UserIds: '1,2,3,4,5'而不是UserIds: [1, 2, 3, 4, 5]?后者会自动绑定到IList<string>。
标签: c# asp.net-mvc asp.net-core-mvc