• 创建Web API并使用


    昨晚有教一个网友在ASP.NET MVC里,创建Web API和在MVC视图中应用此API。

    可以在ASP.NET MVC中,创建程序的model:

    namespace Insus.NET.Models
    {
        public class Weather
        {
            private int _Month;
    
            public int Month
            {
                get { return _Month; }
                set { _Month = value; }
            }
    
    
            private string _Season;
    
            public string Season
            {
                get
                {
                    return _Season;
                }
                set { _Season = value; }
            }       
        }
    }
    Source Code


    model创建好了,可以开始创Web API:


    如果你的环境是第一次创建Web API的,它会打开一个文本,是教诉你怎样配置Global.asax.cs的:

     
    稍后注意一下,api的路由注册应该放在mvc的路由前面。

     

    接下来,为你的api接口写方法或是函数:


    namespace Insus.NET.Apis
    {
        public class WeatherAPIController : ApiController
        {
            [Route("api/WeatherAPI/ApiMethod")]
            [HttpPost]
            public Weather ApiMethod(Weather w)
            {   
                var a = new List<int>() { 1, 2, 3 };
                if (a.Contains(w.Month))
                    w.Season = "春季";
    
                var b = new int[] { 4, 5, 6 };
                if (b.Contains(w.Month))
                    w.Season = "夏季";
    
                IEnumerable<int> c = new List<int>() { 7, 8, 9 };
                if (c.Contains(w.Month))
                    w.Season = "秋季";
    
                var d = "10,11,12".Split(new char[] { ',' }).Select(i => Int32.Parse(i)).ToArray();
                if (d.Contains(w.Month))
                    w.Season = "冬季";
    
                return w;
            }
        }
    }
    Source Code


    以上内容全是Web API的建设。前端介面,就可以使用它们了。
     
    现在ASP.NET MVC网站上,添加一个视图,并添加一些html:



    为铵钮补充click事件,那是使用jQuery的ajax来POST用户输入的月份,然后系统返回季度:

     $(function () {
                $("#btnConvert").click(function () {
                    var obj = {};
                    obj.Month = $("#txtMonth").val();
                   
                    $.ajax({
                        type: "POST",
                        url: "/api/WeatherAPI/ApiMethod",
                        data: JSON.stringify(obj),
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (response) {
                            $('.label').html("你输入的月份:" + response.Month + ";  转换季度是:" + response.Season + "。");
                        },
                        failure: function (response) {
                            alert(response.responseText);
                        },
                        error: function (response) {
                            alert(response.responseText);
                        }
                    });
                });
            });
    Source Code


    演示:


     

  • 相关阅读:
    edu_6_1_4
    edu_6_1_2
    edu_6_1_3
    edu_6_1_1
    音乐链接
    音乐推荐界面
    客服页面
    购物页面
    京东读书新闻资讯页面
    安装Tomcat时 ,设置JAVA_HOME和JRE_HOME
  • 原文地址:https://www.cnblogs.com/insus/p/7771428.html
Copyright © 2020-2023  润新知