Visual Studio创建webapi示例

  以前接触的应用系统集成,不管是.net对.net,还是.net对java,主要使用的集成方式是用WebService方式进行集成。近期需要与另外一个基于java的开发平台集成,要求使用webapi进行集成。之前参与的项目,主要都是C/S架构程序的开发,几乎没有接触过webapi,本文用于入门学习webapi的创建。对于webapi的概念及其与WebService的区别,可以查看参考文献,这里就直接介绍如何使用vs创建webapi。
  首先是确认一下从.net framework哪个版本开始支持创建WebAp,百度搜索了一些资料,WebApi的创建模板是从VS2012(参考文献8)开始提供的,支持创建WebAPI的.net framework是从4开始的(参考文献8)。个人安装的VS2019中,如果是选择.net framework3.5或者.net framework4,在创建ASP.NET web应用程序的导航中,是没有webapi的模板的,如下图所示。
Visual Studio创建webapi示例_第1张图片Visual Studio创建webapi示例_第2张图片Visual Studio创建webapi示例_第3张图片
  选择.net framework4.5后,在创建ASP.NET web应用程序的导航中就包含有webapi模板。
Visual Studio创建webapi示例_第4张图片
Visual Studio创建webapi示例_第5张图片
  创建好的初始界面如下图所示,初始的文件夹和文件的意义可以参考文献9,里面介绍的比较详细:
Visual Studio创建webapi示例_第6张图片
  WebApiConfig文件中的Register类用于定义WebApi的调用路径模板。
Visual Studio创建webapi示例_第7张图片
  项目初始化的Controllers文件夹中自带了HomeController和ValuesController,其中HomeController继承自Controller类,ValuesController类继承自ApiController类。
  自动产生的ValuesController类代码看着比较好理解,应该包含的函数主要是对应着HTTP协议中的Get、Post、Put、Delete等方法,两个Get重载函数应该是在链接中带参数和不带参数的函数处理情况。

    public class ValuesController : ApiController
    {
        // GET api/values
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/values/5
        public string Get(int id)
        {
            return "value";
        }

        // POST api/values
        public void Post([FromBody]string value)
        {
        }

        // PUT api/values/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/values/5
        public void Delete(int id)
        {
        }
    }

  运行VS,在网页中输入地址:http://localhost:59944/api/values,显示的结果如下:
Visual Studio创建webapi示例_第8张图片
  在网页中输入:http://localhost:59944/api/values/7,显示的结果如下:
Visual Studio创建webapi示例_第9张图片
  上面的显示内容与ValuesController中对应的Get函数的返回数据相同。感觉这种方式与java中的Servlet的实现方式和调用方式类似。
  本文可能连入门都算不上,只是验证了在VS中创建WebApi的过程,甚至都没有自己写代码,完全使用的是VS自动创建的代码。目前工作中使用的最多的集成还是WebService,后续会根据工作需要逐步了解学习WebApi。

参考文献:
[1]Web Api ——创建WebAPI,https://www.cnblogs.com/xtblog/p/8099382.html
[2]重温ASP.NET WebAPI(一)初阶,https://www.cnblogs.com/ruanyifeng/p/5455001.html
[3]SOAP webserivce 和 RESTful webservice 对比及区别,https://blog.csdn.net/huojiao2006/article/details/58061520
[4]Asp.Net WebApi核心对象解析(一),https://www.jianshu.com/p/063f5cf4b2af
[5]https://social.msdn.microsoft.com/Forums/vstudio/en-US/5036f149-a297-4f54-960e-3e5cc4c95f90/aspnet-web-api-net-framework-support?forum=wcf
[6]https://www.c-sharpcorner.com/article/introduction-to-asp-net-web-api/
[7]https://www.tutorialsteacher.com/webapi/create-web-api-project
[8]Web API(二):Web API概述,https://www.cnblogs.com/dotnet261010/p/8586424.html
[9]Web API(三):创建Web API项目,https://www.cnblogs.com/dotnet261010/p/8588646.html

你可能感兴趣的:(dotnet编程,Visual,Studio,webapi)