Web Api 2路由问题,URL中包含特殊字符

在开发Web Api 2 REST服务的过程中,我们发现了一个路由问题。 端点如下:

…/{电子邮件}/…

问题是电子邮件可能包含特殊字符,例如“+”,这会导致找不到404资源。

我们真的希望该服务的用户能够在URL中指定电子邮件。 但由于电子邮件在法律上也可以包含“&”,因此不能将其移动到URL参数。 我们将如何解决这个问题?

关心弗雷德里克

在您的情况下, UrlEncodeUnicode和UrlDecode应该会有所帮助。

不,编码和解除只有在您控制客户端和服务器操作时才能工作。 否则,最好的方法是直接调用端点

http://www.yourwebsite.com/api/account/create?email=‘{email with any characters}’