如何用get方法写正确的路由到REST Api控制器

本文关键字:路由 REST Api 控制器 get 何用 方法 | 更新日期: 2023-09-27 18:13:22

我有MVC Web Api项目。基于这个项目,我创建了REST Api控制器:

   public class ViewConfigFileController : ApiController
    {
        public string Get()
        {
            string result = string.Empty;
            try
            {
                result = File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath("~/Config/configData.xml"));
            }
            catch (Exception)
            {
                result = "Error read XML file!";
            }
            return result;
        }
    }

我想创建手动路由:

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

启动应用程序后,我看到错误:没有找到应用程序。那么,我该怎么解决呢?

如何用get方法写正确的路由到REST Api控制器

在你的路由配置中需要"{controller}"answers"{action}"占位符

试着改变你的路由配置。

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