• Asp.net MVC4 Step By Step(5)-使用Web API


    Web API是ASP.net MVC4新增的一个特色, 应用于处理Ajax请求, 他同时使用了Web标准规范, 比如Http, Json,和XML,以及一系列构建REST数据服务的参考原则, 和ASP.net MVC很像,都使用了一些相同的核心概念, 比如路由,控制器以及控制器操作结果。 但是使用场景不同,他支持需要使用数据服务而非HTML标签的场景。

    可以在项目根目录下新建一个Api 目录,在这个目录添加Web API控制器,

    image

    控制器的内容如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web.Http;
     
    namespace Ebuy.Website.Api
    {
        public class AuctionsDataController : ApiController
        {
            // GET api/auctionsdata
            public IEnumerable<string> Get()
            {
                return new string[] { "value1", "value2" };
            }
     
            // GET api/auctionsdata/5
            public string Get(int id)
            {
                return "value";
            }
     
            // POST api/auctionsdata
            public void Post([FromBody]string value)
            {
            }
     
            // PUT api/auctionsdata/5
            public void Put(int id, [FromBody]string value)
            {
            }
     
            // DELETE api/auctionsdata/5
            public void Delete(int id)
            {
            }
        }
    }

    这个时候还要注册路由,具体位置在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 }
                );
            }
        }

    注册过程和普通的控制器路由注册过程一样,区别是Web API使用的是RouteTable.MapHttpRoute()扩展方法。 而不是RouteTable.MapRoute()。


    ApiController依赖名称来关联不同的Http操作, 使用这些惯例很容易执行CRUD操作(Create, Read, Update, Delete) ,标准的HTTP动词对应的CRUD操作时:GET(读)  PUT(更新或创建) POST(新建) DELETE(删除)


    调用 ASP.NET MVC Web API数据服务

    下面代码展示了使用$.getJSON()方法来发送请求, 地址是/api/auction. 这个服务返回交易数据对象autions的集合,格式是JSON。

    <script type="text/javascript">
        $(function() {
             $.getJSON ("api/AuctionsData",
             function(data) {
                    $.each(data, function( key, val) {
                            var str=val.Description;
                            $( '<li/>', { html: str}).appendTo( $(  '#auctions' ) );
                    });
             });
         })
    </script>
  • 相关阅读:
    Biztalk 开发之 使用xml数据项构造输出文件路径【转】
    正则表达式限制文本框只能输入数字
    DropDownList、ListControl、RadioButtonList绑定
    下载文件代码
    C#几个经常用到的字符串截取
    在未被引用的程序集中定义。必须添加对程序集类型“System.Web.UI.WebControls.Panel”在未被引用的程序集中定义。必须添加对程序集“System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d
    Marquee滚动总结
    Jquery原理
    Menu控件绑定菜单代码
    .Net配置文件中数据库中连接字符串用法总结
  • 原文地址:https://www.cnblogs.com/grkin/p/3306499.html
Copyright © 2020-2023  润新知