REST API HttpPost это меня подводит

Это точно правильно, потому что компилятор должен знать, какой тип он предназначен для распределения. Поэтому классы шаблонов, функции, перечисления и т. Д. Должны быть реализованы также в файле заголовка, если он должен быть опубликован или частично из библиотеки (статический или динамический), поскольку файлы заголовков НЕ скомпилированы в отличие от файлов c / cpp, которые находятся. Если компилятор не знает, что тип не может его скомпилировать. В .Net это возможно, потому что все объекты происходят из класса Object. Это не .Net.

0
задан VGimenez 3 March 2019 в 17:26
поделиться

1 ответ

Если я попытаюсь выполнить HTTP-POST, выполнив http: // localhost: puerto / Api / Registros / registro (без дополнительных параметров), сервер вернет мне ошибку 404 : "Ресурс не найден". Я устанавливаю точку останова внутри метода Controller, в предложении switch (), и когда я пытаюсь получить доступ с помощью HTTP-POST, никогда не выполняю этот метод.

Я полагаю, у вас есть два правила перезаписи URL в вашем приложении, одно - правило AccesoRegistro, другое - правило по умолчанию.

Правило по умолчанию выглядит следующим образом:

        routes.MapRoute(
         name: "Default",
         url: "{controller}/{action}/{id}",
         defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
     );

Таким образом, http: // localhost: puerto / Api / Registros / registro будет сначала соответствовать правилу по умолчанию "{controller} / {action} / {id} "не правило AccesoRegistro, оно вернет ошибку 404.

Я полагаю, вы могли бы поставить правило AccesoRegistro перед правилом по умолчанию, тогда оно будет работать хорошо.

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

    routes.MapRoute(
     name: "Default",
     url: "{controller}/{action}/{id}",
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
 );

    routes.MapRoute(
"AccesoRegistro",
"Api/Registros/Registro/{email}/{fecha}",
new
{
    controller = "Registros",
    action = "Registro",
    email = UrlParameter.Optional,
    fecha = UrlParameter.Optional
}

Результат:

enter image description here

0
ответ дан Brando Zhang 3 March 2019 в 17:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: