Web Api 如何处理这个查询字符串?
Posted
技术标签:
【中文标题】Web Api 如何处理这个查询字符串?【英文标题】:How is this query string handled by Web Api? 【发布时间】:2020-08-26 13:01:28 【问题描述】:2020-05-09?symbols=HKD&base=CAD 是一个查询字符串,用于在公共 API 中检索这两种货币在特定日期的汇率。我知道字符串的第一部分应该是控制器的动作,其余部分是参数。但是 API 是如何处理这种类型的查询字符串的呢?他们每天都会生成一个新的 Action?这很难相信......
public class RatesController : ApiController
public async Task<ActionResult> Get()
【问题讨论】:
【参考方案1】:不,您不需要每天都创建一个新操作。日期值是一个路由参数。 您可以使用以下代码实现:
public class RateModel
[FromRoute]
public DateTime Date get; set;
[FromQuery]
public string Symbols get; set;
[FromQuery]
public string Base get; set;
...
[HttpGet("rate/date")]
public ActionResult Get(RateModel model)
return Ok(model);
然后在~/rate/2020-05-09?symbols=HKD&base=CAD
上调用GET方法
将返回:
"date": "2020-05-09T00:00:00",
"symbols": "HKD",
"base": "CAD"
【讨论】:
以上是关于Web Api 如何处理这个查询字符串?的主要内容,如果未能解决你的问题,请参考以下文章