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的模板的,如下图所示。
在这里插入图片描述在这里插入图片描述在这里插入图片描述
  选择.net framework4.5后,在创建ASP.NET web应用程序的导航中就包含有webapi模板。
在这里插入图片描述
在这里插入图片描述
  创建好的初始界面如下图所示,初始的文件夹和文件的意义可以参考文献9,里面介绍的比较详细:
在这里插入图片描述
  WebApiConfig文件中的Register类用于定义WebApi的调用路径模板。
在这里插入图片描述
  项目初始化的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,显示的结果如下:
在这里插入图片描述
  在网页中输入:http://localhost:59944/api/values/7,显示的结果如下:
在这里插入图片描述
  上面的显示内容与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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值