Я использую VB на сайте .net web api 2, для которого включен HttpAttribute, и пытаюсь использовать адрес электронной почты в качестве необязательного параметра в определении маршрута.
Это определение маршрута вcontroller:
<Route("someController/SomeAction/{id}/{emailAddress?}")>
<HttpGet>
Public Function SomeAction(ByVal id As String, Optional ByVal emailAddress As String = "") As HttpResponseMessage
' ..do stuff
End Function
Если я опускаю дополнительный адрес электронной почты из пути запроса, сервер выполняет этот метод.Если я добавлю адрес электронной почты в конец пути, я получу ответ 404 Не найдено, например:
http://myapiserver/some/action/1A2B/ ' <-- route found and the SomeAction method is executed
http://myapiserver/some/action/1A2B/myemail@mydomain.ex ' <-- not found
Я попытался URL-адрес, кодирующий используемое значение электронной почты, но все равно получаю 404-не найдено:
http://myapiserver/some/action/1A2B/myemail%40mydomain.ex ' <-- also 404-not found
Я не могу быть первым, кто попытается отправить адрес электронной почты на сервер API.
Что я делаю не так?