zoukankan      html  css  js  c++  java
  • ASP.NET MVC5 与 API 自定义路由

     -----------------------------------------------------------------

    MVC5

        public class RouteConfig
        {
            public static void RegisterRoutes(RouteCollection routes)
            {
                //伪静态
                routes.MapMvcAttributeRoutes();
    
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
                routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                );
            }
        }

    HomeController

        [RoutePrefix("a/File")]
        public class HomeController : Controller
        {
            public ActionResult Index()
            {
                return View();
            }
            [Route("About")]
            public ActionResult About()
            {
                ViewBag.Message = "Your application description page.";
    
                return View();
            }
    
            public ActionResult Contact()
            {
                ViewBag.Message = "Your contact page.";
    
                return View();
            }
        }

    ------------------------------------------------------------------

    API

    WebApiConfig

        public static class WebApiConfig
        {
            public static void Register(HttpConfiguration config)
            {
                //匹配注解路由
                config.MapHttpAttributeRoutes();
    
                config.Routes.MapHttpRoute(
                    name: "DefaultApi",
                    routeTemplate: "api/{controller}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );
            }
        }

    FileController

        /// <summary>
        /// 普通文件上传接口,及文件查询接口
        /// </summary>
        [RoutePrefix("api/File")]
        public class FileController : ApiController
        {
            private readonly string _swfTools = WebConfigurationManager.AppSettings["SWFTools"].ToString();
            private readonly string _ffMpegTools = WebConfigurationManager.AppSettings["FFmpeg"].ToString();
            private readonly string _uploadDomain = WebConfigurationManager.AppSettings["UploadDomain"];
    
            /// <summary>
            /// 查询文件
            /// </summary>
            /// <param name="md5"></param>
            /// <returns></returns>
            [HttpGet]
           [Route("GetByMd5")]
            public string GetByMd5(string md5)
            {
                FilesService filesService = new FilesService();
                var dto = filesService.QuerySingle(md5, null);
                return JsonConvert.SerializeObject(dto);
            }
    
        }
  • 相关阅读:
    我国大部分地区今晚将上演红色月全食美景[2007828]
    n阶汉诺塔问题(Hanoi)
    NBear中使用WhereClip表示in查询的问题
    web性能测试分析理论篇
    Net类库一览 转
    使用ASP.Net Forms模式实现WebService身份验证
    2005数据源的相关数据绑定
    单位分级,涵闸和人员绑定到树
    ajax,js文件中中文显示成乱码的问题
    WinFom应用程序数据操作技巧
  • 原文地址:https://www.cnblogs.com/wangyinlon/p/12036274.html
Copyright © 2011-2022 走看看