WebAPI使用加测试教程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Sunny5319/article/details/79961664
前言

本文章是关于WebAPI的一些基础使用,和大家一起分享

一、 创建WebAPI项目

      
1. 新建项目
文件->新建->项目

这里写图片描述

选择模板中的Web API

这里写图片描述

2. 新建Model类
右击Model->添加->类

这里写图片描述

测试时可以添加如下代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace test.Models
{
    public class Test
    {
        public int ID { get; set; }

        public int Age { get; set; }

        public string Name { get; set; }

        public string Sex { get; set; }

        public long _timestamp { get; set; }

        public string _sign { get; set; }

        public string _message { get; set; }
    }
}


3. 新建Controllers类
右击Controllers->添加->控制器

这里写图片描述

这里写图片描述

测试时可以添加如下代码

using System;
using System.Collections.Generic;//添加此引用之后IEnumerable可用
using System.Linq;
using System.Web;
using System.Web.Http;//添加此引用之后ApiController可用
using test.Models;//添加此引用之后Test可用
using System.Net;
//using System.Net.Http;
//using System.Web.Mvc;//去掉此引用之后Route HttpGet可用

namespace test.Controllers
{
    [RoutePrefix("api/users")]
    public class TestController : ApiController
    {
        List<Test> tests = new List<Test>
        {
            new Test() { ID=1,Age=23,Name="张三",Sex="男"},
            new Test() { ID=2,Age=55,Name="李四",Sex="男"},
            new Test() { ID=3,Age=12,Name="王五",Sex="男"},
            new Test() { ID=4,Age=18,Name="赵六",Sex="女"},
        };

        /// <summary>
        /// 公开的接口--查询出所有的数据
        /// </summary>
        /// <returns></returns>
        [Route("getAll")]
        [HttpGet]
        public IEnumerable<Test> addUser1(Test test)
        {
            tests.Add(test);
            return tests;
        }

        [HttpGet]
        [Route("QueryUsersById")]
        /// <summary>
        /// 通过id来查询数据
        /// </summary>
        /// <returns></returns>
        public Test QueryUsersById(int id)
        {
            var user = tests.FirstOrDefault((u) => u.ID == id);
            if (user == null)
            {
                return null;
            }
            else
            {
                return user;
            }   
        }

    }
}

二、 WebAPI测试

      
功能:类似于swagger和postman这样的前后端链接测试工具,支持前后端分离
1. 安装WebApiTestClient
目的:新建的webapi是没有testapi按钮的,需要安装WebApiTestClient
工具->Nuget包管理器->管理解决方案的NuGet程序包

这里写图片描述

2、找到浏览->输入WebApiTestClient->选择下图中的WebApiTestClient->点击webapi->点击安装(选中WebApi的项目)

这里写图片描述

3、在WebApi下的Areas/HelpPage/Views/Help/Api.cshtml的最后添加以下代码:

@Html.DisplayForModel("TestClientDialogs")
@section Scripts{
    <link href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
    @Html.DisplayForModel("TestClientReferences")
    }


Api.cshtml展示如下:

@using System.Web.Http
@using test.Areas.HelpPage.Models
@model HelpPageApiModel

@{
    var description = Model.ApiDescription;
    ViewBag.Title = description.HttpMethod.Method + " " + description.RelativePath;
}

<link type="text/css" href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
<div id="body" class="help-page">
    <section class="featured">
        <div class="content-wrapper">
            <p>
                @Html.ActionLink("Help Page Home", "Index")
            </p>
        </div>
    </section>
    <section class="content-wrapper main-content clear-fix">
        @Html.DisplayForModel()
    </section>
</div>
@Html.DisplayForModel("TestClientDialogs")
@section Scripts{
    <link href="~/Areas/HelpPage/HelpPage.css" rel="stylesheet" />
    @Html.DisplayForModel("TestClientReferences")
    }


4、测试步骤
(1) 在网页的API处可以看到Test

这里写图片描述

(2)点击其中的某一个出现Test API的按钮

这里写图片描述

(3)点击Test API按钮出现下面的页面

这里写图片描述

三、 站在巨人的肩膀上

      
参考:
《Asp.Net Web API》—–webApi的简单使用
C#进阶系列——WebApi 接口测试工具:WebApiTestClient
WebAPI英文官网
WebAPI中文官网

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页