Как передать электронную почту в качестве параметра в конце URL-адреса в веб-API ASP.NET MVC? - программирование
Подтвердить что ты не робот

Как передать электронную почту в качестве параметра в конце URL-адреса в веб-API ASP.NET MVC?

Как передать адрес электронной почты в качестве параметра в конце URL-адреса в веб-интерфейсе ASP.NET MVC?

как показано ниже:

test.com/api/sales/getcustomerorders/[email protected]

Я хочу передать адрес электронной почты в качестве параметра для действия getcustomerorders.

мы можем передать строку запроса. Но я хочу отформатировать URL-адрес, как указано выше.

Спасибо.

4b9b3361

Ответ 1

В WebApiConfig введите маршрут как "/{email}/". Конец "/" не позволит вам получить Нет HTTP-ресурса, который соответствует запросу URI...

Ответ 2

Проблема в том, что у вас есть период в URL-адресе.

Чтобы заставить его работать, измените свою веб-конфигурацию, чтобы добавить следующие две конфигурации:

<configuration>
  <system.web>
    <httpRuntime relaxedUrlToFileSystemMapping="true" />
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

Haacked имеет блог о relexUrlToFileSystemMapping http://haacked.com/archive/2010/04/29/allowing-reserved-filenames-in-URLs.aspx

И у меня есть ошибка об этом в IIS express 8 и вам нужны runAllManagedModulesForAllRequests: https://aspnetwebstack.codeplex.com/workitem/226

Ответ 3

Скотт Гензельм описывает это в этом сообщении в блоге. В качестве альтернативы вы можете передать электронное письмо как параметр строки запроса, а не как часть пути, так как некоторые символы не разрешены.