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