Web API POST 方法将加号 (+) 替换为空白



我有一个接受参数的 API,如果我在其中一个参数中输入加号字符 (+(,当我检索值时,某些东西(假设 .NET(已将该值替换为空白 ( (。 确切的例子是我接受来自外部系统的电话号码,它为该号码提供了包含的国家/地区代码。 因此,对于美国,提供的值是"+12223334444",当我得到值时,它是"12223334444"。 知道是什么原因造成的吗?

[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"
}

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

最新更新