WebApi的创建和简单实现(一)

WebApi

1.what?

答: 对接各种客户端(浏览器,移动设备),构建http服务的框架

2.where?

答:部署在IIS中给外部应用提供数据

3.why?

答:C#MVC完美支持实现简单,明了,可控制

一、创建WebApi

1、开发环境:vs2019.

WebApi的创建和简单实现(一)_第1张图片

2、然后点击下一步

WebApi的创建和简单实现(一)_第2张图片

3、点击创建

WebApi的创建和简单实现(一)_第3张图片

4、然后再点击创建就会进入新建项目,然后再MVC(Models,Views,Controllers)中的M中创建一个类

WebApi的创建和简单实现(一)_第4张图片

5、然后在Controllers中创建一个继承ApiController类的空Api控制器

WebApi的创建和简单实现(一)_第5张图片

WebApi的创建和简单实现(一)_第6张图片

WebApi的创建和简单实现(一)_第7张图片

6、ContactController类的具体代码

 public class ContactController : ApiController
    {
        Contact[] contacts = new Contact[] {
            new Contact(){ ID=1,Age=20,Birthday=Convert.ToDateTime("1988-07-25"),Name="嗷叫",Sex="男"},
            new Contact(){ ID=2,Age=18,Birthday=Convert.ToDateTime("1988-07-3"),Name="阿拉斯",Sex="女"},
            new Contact(){ ID=3,Age=1,Birthday=Convert.ToDateTime("1988-07-26"),Name="网袜",Sex="女"},
            new Contact(){ ID=4,Age=4,Birthday=Convert.ToDateTime("1988-07-5"),Name="哈子",Sex="男"}
        };

        public IEnumerable GetListAll()
        {
            return contacts;
        }

        public Contact PostContactByID(int id)
        {
            Contact contact = contacts.FirstOrDefault(item => item.ID == id);
            if (contact == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }
            return contact;
        }

        public IEnumerable GetListBySex(string sex)
        {
            return contacts.Where(item => item.Sex == sex);
        }

    }

7、到这里基本一个webapi项目就完成了,剩下了就是显示了,我用的是PostMan接口工具测试的。首先得先运行项目,然后再浏览器地址栏找到网址,然后复制到postman中,然后再调用相关的函数。使用PosyMan的方法请查看参考资料4。PostMan地址 :https://www.getpostman.com/。

WebApi的创建和简单实现(一)_第8张图片

WebApi的创建和简单实现(一)_第9张图片

WebApi的创建和简单实现(一)_第10张图片

WebApi的创建和简单实现(一)_第11张图片

8、如果你的ContactController类中的函数前面带着Get就是Get,如果带着Post就是Post(自我理解),具体怎么调用函数请阅读参考资料2中的内容。然后就能查看到你写的东西了。

参考资料1:https://blog.csdn.net/yaoyaoopen/article/details/51498514

参考资料2:https://blog.csdn.net/hao134838/article/details/50877931

参考资料3:https://blog.csdn.net/WuJingTao666666/article/details/79537420

参考资料4:https://blog.csdn.net/lwpoor123/article/details/78285148

你可能感兴趣的:(VS)