Web API POST方法用空格替换加号(+)

时间:2018-06-11 22:03:09

标签: c# asp.net-core

我有一个接受参数的API,如果我在其中一个参数中加上一个加号(+),当我检索该值时,某些东西(假设是.NET)已经用空格()替换了该值。确切的例子是我从外部系统接受电话号码,并提供包含国家代码的号码。因此,对于美国,所提供的价值是" + 12223334444"当我得到价值的时候,就是" 12223334444&#34 ;.知道会导致这种情况的原因吗?

[Route("api/SMS/HandleResponse"), HttpPost, AllowAnonymous]
public TwiMLResult HandleResponse(string apiVersion, string smsSid, string smsStatus, string smsMessageSid, string numSegments, string from, string toState, string messageSid, string accountSid, string toZip, string fromCountry, string toCity, string fromCity, string to, string fromZip, string body, string toCountry, string fromState, string numMedia)
{
    // from is now " 12223334444" instead of "+12223334444"

}

1 个答案:

答案 0 :(得分:0)

来发现,有两个问题导致了这个问题。首先,我有一个需要更新的TON NuGet包。我并非100%确信这完全导致了问题,但在更新后,它又开始正常运行。第二个原因是我使用的是PostMan以及我提交参数的方式(url args vs form-data)。更新NuGet包并重新部署我的API后,它运行正常。