初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

这篇具有很好参考价值的文章主要介绍了初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试


目录

VsualStudio2022各版本说明

社区版本具体说明

VisualStudio2022下载选项

VisualStudio2022启动样式

VisualStudio2022图标样式

VisualStudio2022初始内存消耗

创建项目ASP.NET Core项目

具体项目创建

编辑项目名称与项目位置

创建配置

创建API控制器

修改路由配置

配置跨域

准备创建接口

创建【RESTful风格】的API接口

完整接口代码(复制就能用)

启动前设置

启动效果

Eolink测试测试:

添加本地访问环境

设置环境

访问测试:

总结:


VsualStudio2022各版本说明

VsualStudio2022企业版和社区版区别是收费和不收费。社区版是免费的。

主页链接:【Visual Studio 2022 IDE - 适用于软件开发人员的编程工具】

主要面向学生、开源软件开发者等个人,我们大学生肯定是免费使用的。

专业版与企业版则是收费的,更多面向高级开发者或企业用户。

VisualStudio2022软件一共有Community(社区版)、Professional(专业版)与 Enterprise(企业版)三个版本。我们使用社区版本就够用了。

社区版本具体说明

社区版本在测试过程中

  1. 社区版不支持TFS。但你可以另外搭建TFS服务,只是个人开发不需要这个东西。
  2. 社区版有单元测试。没有性能测试,没有负载测试,没有性能分析。
  3. 社区版创建虚拟环境的能力不行。

VisualStudio2022下载选项

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

VisualStudio2022启动样式

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

VisualStudio2022图标样式

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

VisualStudio2022初始内存消耗

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

创建项目ASP.NET Core项目

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

具体项目创建

这里可以在筛选中依次选择【C#】=>【Windows】=>【Web】,在列表中选择【ASP.NET Core Web API】来快速创建接口

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

编辑项目名称与项目位置

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

创建配置

这里默认是【.Net6.0】是一个长期稳定版本,使用3.1也是一个稳定版本。

取消【HTTPS】,这样省的麻烦。我们又没有单独去购买HTTPS所以不需要。

勾选【使用控制器】,为了方便。

一定要勾选上【OpenAPI】这样能自动添加swagger

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

非常干净的页面创建成功。

创建API控制器

鼠标右键直接添加【控制器】

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

修改路由配置

[Route("api/[controller]/[action]")]

如果没有这个路由的话访问起来会很麻烦。 

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

配置跨域

看好代码放置位置,才能正确配置。

//注册跨域请求CORS服务
builder.Services.AddCors(options =>
{
    options.AddPolicy("AllowCors", builder =>
    {
        builder.AllowAnyOrigin().AllowAnyMethod();
    });
});





//启动跨域
app.UseCors("AllowCors");

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

准备创建接口

创建Model

就准备一个做数据的类就够了。我们创建一个【Product】类。

public string? ProductId { get; set; }
public string? ProductName { get; set; }
public string? ProductType { get; set; }
public decimal Price { get; set; }
public string? note { get; set; }

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

创建一个【SUCCESS】类用于返回正确结果

public SUCCESS(string msg,Object result) {
    state = true;
    this.msg = msg;
    this.result = result;
}
public bool state { get; set; }
public string? msg { get; set; }
public Object? result { get; set; }

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

创建一个【ERROR】类用于返回异常结果

这里的【result】返回为null,别用字符串啥的,免得被移动端的开发乱bb

public ERROR(string msg)
{
    state = false;
    this.msg = msg;
    this.result = null;
}
public bool state { get; set; }
public string? msg { get; set; }
public Object? result { get; set; }

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

创建【RESTful风格】的API接口

接口测试业务逻辑梳理:

1、初始化数据[HttpGet]

2、基础列表分页访问测试[HttpGet]

3、精准id查询测试[HttpGet]

4、模糊查询测试[HttpGet]

5、分组查询测试[HttpGet]

6、倒序正序查询测试[HttpGet]

7、添加测试[HttpPost]

8、修改测试[HttpPut]

9、删除测试[HttpDelete]

完整接口代码(复制就能用)

/// <summary>
        /// 全局数据
        /// </summary>
        static List<Product> list = new List<Product>();

        /// <summary>
        /// 初始化函数
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public object Init()
        {
            if (list.Count < 1)
            {
                return new ERROR("初始化完毕");
            }
            list.Add(new Product()
            {
                ProductId = Guid.NewGuid().ToString("N"),
                ProductType = "中药",
                ProductName = "枸杞",
                Price = decimal.Parse("3.99"),
                note = "养生必备"
            });
            list.Add(new Product()
            {
                ProductId = Guid.NewGuid().ToString("N"),
                ProductType = "中药",
                ProductName = "党参",
                Price = decimal.Parse("2.05"),
                note = "健脾益肺"
            });
            list.Add(new Product()
            {
                ProductId = Guid.NewGuid().ToString("N"),
                ProductType = "蔷薇目",
                ProductName = "葎草",
                Price = decimal.Parse("5.72"),
                note = "性寒,走肺经与肾经,易导致过敏性呼吸道疾病。"
            });
            list.Add(new Product()
            {
                ProductId = Guid.NewGuid().ToString("N"),
                ProductType = "蔷薇目",
                ProductName = "单倍体草莓",
                Price = decimal.Parse("92.99"),
                note = "单倍体无籽草莓,"
            });
            list.Add(new Product()
            {
                ProductId = Guid.NewGuid().ToString("N"),
                ProductType = "蔷薇目",
                ProductName = "草莓",
                Price = decimal.Parse("109.25"),
                note = "八倍体的凤梨草莓"
            });
            list.Add(new Product()
            {
                ProductId = Guid.NewGuid().ToString("N"),
                ProductType = "杂草",
                ProductName = "香附子(有毒)",
                Price = decimal.Parse("6.92"),
                note = "生、醋炒、酒炒、碳炒,主解表通络。"
            });
            return list;
        }
        /// <summary>
        /// 综合查询
        /// </summary>
        /// <param name="pageNow"></param>
        /// <param name="pageSize"></param>
        /// <param name="ProductId"></param>
        /// <param name="ProductName"></param>
        /// <param name="isDesc"></param>
        /// <returns></returns>
        [HttpGet]
        public object GetInfo(int pageNow, int pageSize, string? ProductId, string? ProductName, bool isDesc)
        {
            try
            {
                if (pageSize == 0)
                {
                    pageSize = 5;
                }
                var newList = list;
                if (!string.IsNullOrEmpty(ProductId))
                {
                    newList = list.Where(o => o.ProductId == ProductId).ToList();
                }
                if (!string.IsNullOrEmpty(ProductName))
                {
                    newList = list.Where(o => o.ProductName.Contains(ProductName)).ToList();
                }
                if (isDesc)
                {
                    newList = newList.OrderByDescending(by => by.Price).ToList();
                }
                newList = newList.Skip((pageNow - 1) * pageSize).Take(pageSize).ToList();
                return new SUCCESS("查询成功", newList);
            }
            catch (Exception)
            {
                return new ERROR("查询失败");
            }
        }
        /// <summary>
        /// 分组查询
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public object GetGroupByType()
        {
            try
            {
                var newList = list.GroupBy(o => o.ProductType).ToList();
                return new SUCCESS("查询成功", newList);
            }
            catch (Exception)
            {
                return new ERROR("查询失败");
            }
        }
        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="product"></param>
        /// <returns></returns>
        [HttpPost]
        public object InsertProduct(Product product)
        {
            product.ProductId = Guid.NewGuid().ToString("N");
            if (
                string.IsNullOrEmpty(product.ProductName) ||
                string.IsNullOrEmpty(product.ProductType) ||
                product.Price == decimal.Zero ||
                string.IsNullOrEmpty(product.note)
                )
            {
                return new ERROR("参数不允许有空值");
            }
            list.Add(product);
            return new SUCCESS("添加成功", product);
        }
        /// <summary>
        /// 修改操作
        /// </summary>
        /// <param name="product"></param>
        /// <returns></returns>
        [HttpPut]
        public object UpdateById(Product product)
        {
            try
            {
                if (product == null)
                {
                    return new ERROR("参数不允许有空值");
                }
                for (int i = 0; i < list.Count; i++)
                {
                    if (list[i].ProductId == product.ProductId)
                    {
                        list[i] = product; break;
                    }
                }
                return new SUCCESS("修改成功", product);
            }
            catch (Exception)
            {
                return new ERROR("添加失败");
            }
        }
        [HttpDelete]
        public object DeleteById(string ProductId)
        {
            try
            {
                if (string.IsNullOrEmpty(ProductId))
                {
                    return new ERROR("参数不允许有空值");
                }
                for (int i = 0; i < list.Count; i++)
                {
                    if (list[i].ProductId == ProductId)
                    {
                        bool isf = list.Remove(list[i]);
                        return new SUCCESS("删除成功", isf);
                    }
                }
                return new ERROR("删除失败");
            }
            catch (Exception)
            {
                return new ERROR("删除失败");
            }
        }

启动前设置

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

点击【调试】=》【开始执行(不调试)】

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

启动效果

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

Web端swagger效果:

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

Eolink测试测试:

由于我不想挨个输入,故而直接使用【Swagger.json】来导入项目

在新的页面打开json文件

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

保存json文件到任意地方。

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

打开Eolink的APIkit,引入swagger.json文件

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

导入需要一点时间

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

执行完毕后就会看到【导入成功】,正在写入项目,所以任务显示【进行中】。

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

由于没有异步刷新,故而需要手动切换一下页面重新加载。

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

接口查看

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

添加本地访问环境

这里匹配好端口号,跟服务器要相同。

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

设置环境

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

环境设置成功效果如下:

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

访问测试:

根据需求进行测试即可,非常快捷方便。

初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

总结:

非常实用、快捷、高效的API接口创建方法。设置跨域也很方便。

使用Eolink可以直接导入测试,那就是更方便了。

希望本视频能为大家带来一定的价值,节约大家的开发时间。文章来源地址https://www.toymoban.com/news/detail-454340.html

到了这里,关于初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Groovy初学者指南

    本文已收录至Github,推荐阅读 👉 Java随想录 微信公众号:Java随想录 目录 摘要 Groovy与Java的联系和区别 Groovy的语法 动态类型 元编程 处理集合的便捷方法 闭包 运算符重载 控制流 条件语句 循环语句 字符串处理 字符串插值 多行字符串 集合与迭代 列表(List) 映射(Map) 迭代器

    2024年02月05日
    浏览(48)
  • 爬虫,初学者指南

    1.想目标地址发起请求,携带heards和不携带heards的区别 request模块用于测速发送数据的连通性,通过回复可以看出418,Connection:close表示未获取到服务器的返回值,需要添加heards信息,此服务器拒绝非浏览器发送的请求。 上图可以看出添加了头信息headers之后成功获取了返回值

    2024年02月07日
    浏览(42)
  • 守护进程(初学者必备)

    目录 一.进程组和会话 二.守护进程的概念 三.守护线程的特点 四.守护进程创建的基本步骤 1.进程组的相关概念: 进程除了有进程的PID之外还有一个进程组,进程组是由一个进程或者多个进程组成。通常他们与同一作业相关联可以收到同一终端的信号 每个进程组有唯一的进程

    2024年02月08日
    浏览(43)
  • linux初学者小命令

    进程 :进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。 bash执行命令的过程,以’ls’命令为例: 第一步. 读取输入信息 :shell通过STDIN(标准输入)的getline()函数得到用户的输入

    2024年02月13日
    浏览(31)
  • C语言初学者自序

    在这篇博客的开头,我首先说明,本人是金融专业大一的菜鸟。为什么会学习C语言以及与计算机的不解之缘,我会在下面一一解答。 我与计算机的故事,得从我幼年时说起。当然,这不是老太婆裹脚——又臭又长的故事。毕竟我自己也时时回顾这段经历,它有如晨钟暮鼓。

    2023年04月09日
    浏览(28)
  • ChatGPT初学者最佳实践

    2022年11月底,ChatGPT引爆了新一轮AI的革命,也让人们意识到AI真的能够大幅度提高人们的工作效率,甚至有人担心自己的工作会因为AI不保。这种居安思危的意识是正确的,但是正如锛凿斧锯的出现,并没有让木匠这个行业消失,而是让这个行业以更高效的方式工作。所以作为

    2024年02月05日
    浏览(40)
  • QuantumultX 初学者傻瓜教程

    我这里以“orz”大佬来介绍。 大佬集成了分流、策略、去广告、比价、boxjs等功能,并给了非常详细的任务订阅列表,非常方便。 项目地址:https://github.com/Orz-3/QuantumultX TG频道:https://t.me/Orzmini TG群组:https://t.me/Orz_mini 食用方法:就是把远程配置文件下到本地覆盖再进行设置

    2024年02月08日
    浏览(36)
  • 算法初学者指南:理解排序算法

            排序是计算机科学中的基本问题之一,也是数据处理的核心步骤。从最简单的个人项目到复杂的工业级应用,排序都扮演着关键角色。本文将介绍四种常见的排序算法:冒泡排序、插入排序、快速排序和堆排序,旨在帮助算法初学者理解这些基本概念。         冒泡

    2024年01月23日
    浏览(40)
  • 大语言模型初学者指南 (2023)

    大语言模型 (LLM) 是深度学习的一个子集,它正在彻底改变自然语言处理领域。它们是功能强大的通用语言模型,可以针对大量数据进行预训练,然后针对特定任务进行微调。这使得LLM能够拥有大量的一般数据。如果一个人想将LLM用于特定目的,他们可以简单地根据各自的目的

    2024年02月11日
    浏览(46)
  • 初学者:8个JavaScript技巧

    有很多方法可以优化我们的 JavaScript 代码,本文总结了我在工作中经常使用的 8 个 JavaScript 技巧,希望它也能帮助你。 在编写两个以上的 if ... else 时,是否有更好的优化方法? 如下代码,我们需要根据一个汉堡包的名字来计算它的价格。 更好的写法 ✅ 现在,如果让你找到属

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包