Mat*_*och 1 parameters asp.net-mvc asp.net-web-api asp.net-web-api2
我有一个正在 Visual Studio 2013 中处理的 Web API 项目,我希望我的控制器通过查询字符串接受逗号分隔的值列表,类似于:
http://localhost:12345/api/Procedures/1?embed=doctors,drugs&fields=fieldA,fieldB,fieldC
Run Code Online (Sandbox Code Playgroud)
这样做的原因是我希望能够控制是否使用embed参数通过自定义嵌入查询相关资源(附加表),并使用fields参数控制从基础对象返回的字段。
我在谷歌上做了一些搜索,但建议的大部分内容都与扩展 IModelBinder ( http://www.strathweb.com/2013/04/asp-net-web-api-parameter-binding-part-1-理解绑定从 uri/)或设置自定义 ActionFilterAttribute (转换自定义操作过滤器以供 Web API 使用?)这对于相对简单的事情来说似乎有点过分。
仅供参考,我正在使用实体框架 dbContext 类连接到我的数据库。
逗号字符在 HTTP 查询字符串中没有任何特定含义,因此开箱即用的模型绑定机制不会将其视为分隔符。
据我所知,您提到的自定义属性方法是您可以获得的最简单的方法。考虑到您只会实现一次属性并在任何地方使用,它看起来并不矫枉过正。
| 归档时间: |
|
| 查看次数: |
6519 次 |
| 最近记录: |