атрибут роутера mv контроллера не работает - PullRequest
0 голосов
/ 11 июля 2019

У меня контроллер mvc с именем MyCtl. MyController содержит два метода:

  1. Test1
  2. Test2

в моем веб-интерфейсе API у меня есть

 config.MapHttpAttributeRoutes();
 config.Routes.MapHttpRoute(
         name: "DefaultApi",
         routeTemplate: "api/{controller}/{id}",
         defaults: new { id = RouteParameter.Optional }
         );

MyCtl.cs

        public class MyCtlController : Controller
        {
     public ActionResult Test1()
            {
                return this.JsonResult("1");
            }

            [System.Web.Http.Route("t2")]
            public ActionResult Test2()
            {
                return this.JsonResult("2");
            }
    }

когда я просматриваю

http://localhost:8080/mvc/MyCtl/Test1

или

http://localhost:8080/mvc/MyCtl/Test2

Я получаю ответ

при просмотре

http://localhost:8080/api/MyCtl/t2

Я получаю

Не найден ресурс HTTP, соответствующий URI запроса 'http://localhost:8080/api/MyCtl/t2'. Не найден тип, соответствующий контроллеру с именем «MyCtl».

in web.config Я установил

    <rewrite>
          <rules>

            <rule name="Index Rule" stopProcessing="true">
              <match url=".*" />
              <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_URI}" matchType="Pattern" pattern="^/mvc/" negate="true" />
                <add input="{REQUEST_URI}" matchType="Pattern" pattern="^/api/" negate="true" />
              </conditions>
              <action type="Rewrite" url="/dist/index.html" />
            </rule>
          </rules>
        </rewrite>

Скажите, пожалуйста, что мне не хватает?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...