zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    MySql 分页存储过程
    Wireshark图解教程
    Android全局变量使用
    Memcache存储大数据的问题
    论这场云盘大战,以及各网盘的优劣
    [MySQL CPU]线上飙升800%,load达到12的解决过程
    一步一步写算法(之排序二叉树)
    platform_device与platform_driver
    SPOJ 130
    Java实现 蓝桥杯VIP 算法训练 奇偶判断
  • 原文地址:https://www.cnblogs.com/grkin/p/3306499.html
Copyright © 2011-2022 走看看