zoukankan      html  css  js  c++  java
  • WebAPI


    ====》两种网络服务
    1.WebService:基于SOAP风格的网络服务,使用方法进行请求
    2.WebAPI :基于REST风格的网络服务,使用资源进行请求;5个方法:查一个,查所有,增加,修改,删除就是定义一个控制器继承于WebAPIControler类

     public class UserInfoController : ApiController
        {
            // GET api/userinfo
            public IEnumerable<UserInfo> Get()
            {
                List<UserInfo> lUsers = new List<UserInfo>();
                lUsers.Add(new UserInfo() 
                    { 
                        ID=1,
                        Name="孙宝"
                    });
                lUsers.Add(new UserInfo() 
                { 
                    ID = 2,
                    Name = "王沙"
                });
                lUsers.Add(new UserInfo() 
                { 
                    ID = 3,
                    Name = "王闯" 
                });
                return lUsers;
            }
    
            // GET api/userinfo/5
            [HttpGet]
            public string Get(int id)
            {
                return "value";
            }
    
            // POST api/userinfo
            [HttpPost]
            public void Post([FromBody]string value)
            {
            }
    
            // PUT api/userinfo/5
            [HttpPut]
            public void Put(int id, [FromBody]string value)
            {
            }
    
            // DELETE api/userinfo/5
            [HttpDelete]
            public void Delete(int id)
            {
            }
        }


    ====》使用 1.jquery 的ajax (缺点,不能跨域) 

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script src="Scripts/jquery-1.8.2.min.js"></script>
        <script type="text/javascript">
            $(function () {
                LoadList();
            });
    
            function LoadList() {
                $.ajax({
                    type: 'get',//请求方式,可以为get post add delete
                    data: '{}',//发送的参数
                    url: 'http://localhost:33587/api/UserInfo', //请求的地址
                    contentType: "application/json;charset=utf-8",//数据格式
                    dataType: 'json',  //数据形式
                    success: function (list) {
                        var tlist = $("#list");
                        tlist.empty();
                        $.each(list, function (index,item) {
                            tlist.append('<tr><td>' + item.ID + '</td><td>' + item.Name + '</td></tr>');
                        });
                    }
                });
            }
    
        </script>
    </head>
    <body>
        <table border="1">
            <tr>
                <td>编号</td>
                <td>姓名</td>
            </tr>
            <tbody id="list"></tbody>
        </table>
    
    </body>
    </html>

    2.HttpClient

     HttpClient client = new HttpClient();
    
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                //执行Get操作
                HttpResponseMessage response = client.GetAsync("http://localhost:33587/api/UserInfo").Result;
    
               var lUsers=  response.Content.ReadAsAsync<List<UserInfo>>().Result;
    
               ViewData.Model = lUsers;

    请求,由路由规则决定

        public static class WebApiConfig
        {
            public static void Register(HttpConfiguration config)
            {
                config.Routes.MapHttpRoute(
                    name: "DefaultApi",
                    routeTemplate: "api/{controller}/{id}",
                    defaults: new { id = RouteParameter.Optional }
                );
            }
        }
  • 相关阅读:
    tf导出pb文件,以及如何使用pb文件
    word2vec入门理解的博客整理
    简单的RNN和BP多层网络之间的区别
    图像中用到的信息论中的一些概念公式
    raw文件转mha文件
    mha格式的CT体数据转为jpg切片
    在MySQL的表中增加一列
    ES7学习笔记(二)ES的集群原理
    MySQL中的幻读,你真的理解吗?
    ES7学习笔记(一)Elasticsearch的安装与启动
  • 原文地址:https://www.cnblogs.com/haofaner/p/5888851.html
Copyright © 2011-2022 走看看