• 设置WebAPI的路由与返回数据类型信息


    1、修改API路由

    在 项目中有个App_Start文件夹中的WebApiConfig.cs重新设定访问路由

    public static class WebApiConfig
        {
            public static void Register(HttpConfiguration config)
            {
                //原来的默认路由
                //config.Routes.MapHttpRoute(
                //    name: "DefaultApi",
                //    routeTemplate: "api/{controller}/{id}",
                //    defaults: new { id = RouteParameter.Optional }
                //);
                //修改后的路由
                config.Routes.MapHttpRoute(
                    name: "ActionApi",
                    routeTemplate: "api/{controller}/{action}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );
            }
        }
    修改路由

    在项目中Global.asax内引用WebApiConfig中设定好的路由

    public class WebApiApplication : System.Web.HttpApplication
        {
            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
    
                WebApiConfig.Register(GlobalConfiguration.Configuration);
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
                BundleConfig.RegisterBundles(BundleTable.Bundles);
            }
        }
    引用路由

    创建控制项目中的Controllers文件夹中新建控制器

    在新建好的控制器中定义方法

    /// <summary>
            /// 用户登陆
            /// </summary>
            /// <param name="postinfo"></param>
            /// <returns></returns>
            [HttpPost]
            public HttpResponseMessage UserLogin([FromBody]string postinfo)
            {
                  //方法内的代码
                  XXXXXXXXX
                 //返回json信息 下面会有定义返回形式,默认为XML方式返回
                  return ReturnHttpMessage.HttpMessage(JsonConvert.SerializeObject(user));
            }    
    定义方法

    PS:必须要在方法头部定义好[HttpPost]或者[HttpGet]、[HttpPut]、[HttpDELETE]的请求方式

    设定好路由后访问地址改变为:http://xxx(域名)/api/XXX(控制器)/XXXX(定义的方法)

    http://localhost:8035/api/Login/UserLogin

    2、修改设定的返回信息方式

    在控制器文件(Controllers)中添加个ReturnHttpMessage类

    /// <summary>
            /// 返回UTF8格式的json
            /// </summary>
            /// <param name="jsoninfo">json字符串</param>
            /// <returns></returns>
            public static HttpResponseMessage HttpMessage(string jsoninfo) { 
                return new HttpResponseMessage(HttpStatusCode.OK)
                    {
                        Content = new StringContent(jsoninfo, Encoding.UTF8, "text/json")
                    };
            }
    View Code
  • 相关阅读:
    Angularjs中文教程
    IE兼容性 css处理常见
    手写画板实现并转化成图片
    canvas 最基本简单的示例
    凡科 网站地址
    IOS学习之路二十二(UIAlertView获得文本框内容及添加北京图片)
    IOS学习之路十四(用TableView做的新闻客户端展示页面)
    IOS开发之路二十一(UIWebView加载本地html)
    iOS学习之路十三(动态调整UITableViewCell的高度)
    IOS学习之路十二(UITableView下拉刷新页面)
  • 原文地址:https://www.cnblogs.com/hyxf/p/5251594.html
Copyright © 2020-2023  润新知