C# Asp Net核心控制器URL参数
我有C# Asp Net核心控制器URL参数,c#,asp.net-core,asp.net-core-routing,C#,Asp.net Core,Asp.net Core Routing,我有控制器类如下: namespace OptionsAPI.Controllers { [Route("api/[controller]")] public class OptionsController : Controller { HttpGet("{symbol}/{date}")] public IActionResult Chain(string symbol, string date) {
控制器
类
如下:
namespace OptionsAPI.Controllers
{
[Route("api/[controller]")]
public class OptionsController : Controller
{
HttpGet("{symbol}/{date}")]
public IActionResult Chain(string symbol, string date)
{
DateTime quotedate = System.DateTime.Parse(date);
}
}
}
http://127.0.0.1:5000/api/options/Chain/symbol=SPX&date=2019-01-03T10:00:00
当我尝试通过URL调用chain函数时,如下所示:
namespace OptionsAPI.Controllers
{
[Route("api/[controller]")]
public class OptionsController : Controller
{
HttpGet("{symbol}/{date}")]
public IActionResult Chain(string symbol, string date)
{
DateTime quotedate = System.DateTime.Parse(date);
}
}
}
http://127.0.0.1:5000/api/options/Chain/symbol=SPX&date=2019-01-03T10:00:00
我得到这个错误:
格式异常:字符串“symbol=SPX&date=2019-01-03T10:00:00”未被识别为有效的日期时间。有一个以索引“0”开头的未知单词
似乎“SPX”和“date”被连接为一个
string
。调用此URL
的正确方法是什么?操作上的给定路由模板
[HttpGet("{symbol}/{date}")]
以及控制器上的模板
[Route("api/[controller]")]
期望
http://127.0.0.1:5000/api/options/SPX/2019-01-03T10:00:00
但是这个名字叫做URI
http://127.0.0.1:5000/api/options/Chain/symbol=SPX&date=2019-01-03T10:00:00
将URL中的链
映射到符号
,其余映射到日期
,解析时将失败
要获得所需的URI,模板需要如下所示
[Route("api/[controller]")]
public class OptionsController : Controller {
//GET api/options/chain?symbol=SPX&date=2019-01-03T10:00:00
[HttpGet("Chain")]
public IActionResult Chain(string symbol, string date) {
//...
}
}
参考文献
参考动作上的给定路线模板
[HttpGet("{symbol}/{date}")]
以及控制器上的模板
[Route("api/[controller]")]
期望
http://127.0.0.1:5000/api/options/SPX/2019-01-03T10:00:00
但是这个名字叫做URI
http://127.0.0.1:5000/api/options/Chain/symbol=SPX&date=2019-01-03T10:00:00
将URL中的链
映射到符号
,其余映射到日期
,解析时将失败
要获得所需的URI,模板需要如下所示
[Route("api/[controller]")]
public class OptionsController : Controller {
//GET api/options/chain?symbol=SPX&date=2019-01-03T10:00:00
[HttpGet("Chain")]
public IActionResult Chain(string symbol, string date) {
//...
}
}
参考文献
参考文献