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

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用.NET Core创建Web API示例: 1. 创建新的.NET Core Web API项目。 2. 在Visual Studio中,选择“File”>“New”>“Project”。 3. 选择“.NET Core”>“ASP.NET Core Web Application”。 4. 命名您的项目并选择“API”模板。 5. 点击“Create”。 6. 在“Startup.cs”文件中,找到“ConfigureServices”方法,并添加以下代码: ```csharp services.AddControllers(); ``` 7. 在同一个文件中,找到“Configure”方法,并添加以下代码: ```csharp app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); ``` 8. 在您的项目中,创建一个新的控制器类。 9. 在该类中,添加以下代码: ```csharp [Route("api/[controller]")] [ApiController] public class ValuesController : ControllerBase { // GET api/values [HttpGet] public ActionResult<IEnumerable<string>> Get() { return new string[] { "value1", "value2" }; } // GET api/values/5 [HttpGet("{id}")] public ActionResult<string> Get(int id) { return "value"; } // POST api/values [HttpPost] public void Post([FromBody] string value) { } // PUT api/values/5 [HttpPut("{id}")] public void Put(int id, [FromBody] string value) { } // DELETE api/values/5 [HttpDelete("{id}")] public void Delete(int id) { } } ``` 10. 运行您的应用程序,并尝试在浏览器中访问“https://localhost:xxxx/api/values”,其中“xxxx”是您的应用程序的端口号。 11. 您应该看到一个包含“value1”和“value2”的JSON响应。 以上是一个简单的.NET Core Web API示例,您可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值