我需要能够在REST
来电中处理特殊字符。特别是.
和/
个字符。
例如,我有GET
路由/api/division/{someDivision}
。现在,使用参数/api/division/West Canada/
调用此路由,我得到一个返回,一切都按预期工作。但是,我需要能够支持其他名称为“Southwest U.S.”的业务部门。和“北/南美洲”。通过我的路由传递这些参数通过api返回404
,因为我认为,http处理程序认为.
和/
字符使它认为我指的是另一个域或目录。有没有办法解决这个问题,所以我可以传递所需的参数?
路线:
[HttpGet]
[Route("{division}/information")]
public IHttpActionResult DivisionInfo(string division)
{
...omitted for brevity
答案 0 :(得分:0)
您可以尝试像这样设置路线:
[HttpGet]
[Route("/api/information")]
public IHttpActionResult DivisionInfo(string division)
然后你可以拨打GET http://website.com/api/information?division=text.with/special./characters
。
答案 1 :(得分:0)
尝试在参数之前添加[FromUri]
:
Route("api/Person/{ID}/[FromUri]{UserName}")]