C# webapi接口调用实例

这篇具有很好参考价值的文章主要介绍了C# webapi接口调用实例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

书接上回C# WebService&WebApi接口项目创建,在demo的基础上进行webapi接口调用实例开发。

源码

WebApi接口项目public分支https://gitee.com/xiuhuang/webapi_demo
进行接口调用的类库项目public分支https://gitee.com/xiuhuang/dll_demo
下文中提到的所有修改都可以在gitee上看到与demo的修改处直观对比,并且复制更方便,因此只贴图片不贴代码。

测试目标

首先分析接口的请求数据格式和响应数据格式要求。

请求数据

格式为json
测试生成请求数据:{“a”:4,“b”:2}

响应数据

格式为json,包含Success、Code、Message、Result

编号 名称 类型 描述
1 Code String 结果编码,成功为200,失败是201
2 Success Boolean 是否成功,成功是true,失败是false
3 Message String 返回消息
4 Result String 数据结果,有返回数据结果,存储在Result中

测试生成响应数据:{“Code”:“200”,“Success”:true,“Message”:“PostTest”,“Result”:“6”}

webapi接口项目部分

1.首先返回的数据为json格式,而demo项目生成后默认是返回xml格式,因此需要修改App_Start目录下的App_Start/WebApiConfig.cs文件如图所示。
webapi接口开发实例,c#,json

2.然后创建响应数据的实体类Data,请求数据的实体类Test。
webapi接口开发实例,c#,json
webapi接口开发实例,c#,json

3.修改Controllers/ValuesController.cs里API路径为api/Values的POST请求接口如图所示。
注意:Body只接收一个参数的传递,想要在Body中传递多个参数,需要将这多个参数封装成一个对象。
webapi接口开发实例,c#,json

4.此时就可以用postman验证接口的效果了,如图所示。
webapi接口开发实例,c#,json

dll类库项目部分

0.新建一个类库项目,如图在搜索框输入类库,选择类库(.NET Framework),点下一步即可生成一个初始类库项目。
注意:一般会把接口调用方法所在的类生成dll文件来减少耦合,且通过引用dll文件的方式可以在多个项目复用,因此这里为了模拟选择了类库项目。
webapi接口开发实例,c#,json

1.将上面的响应数据的实体类Data和请求数据的实体类Test复制到项目中。

2.使用Nuget添加引用Newtonsoft.Json。
webapi接口开发实例,c#,jsonwebapi接口开发实例,c#,json3.编写将对象转换为json字符串和将json字符串转换为指定类型对象的工具类JsonHandler。
webapi接口开发实例,c#,json

4.编写处理HTTP请求的工具类HttpHandler。
webapi接口开发实例,c#,json
5.编写一个测试类Class1,其中写测试方法show3。
webapi接口开发实例,c#,json
6.将生成的dll类库项目引入其他项目,输出的结果如下图所示。(此处我生成了一个winform应用程序作为测试,直接写到main函数里)
webapi接口开发实例,c#,json
webapi接口开发实例,c#,json

番外篇

修改路由格式

1.修改webapi接口项目部分第1步中的App_Start目录下的App_Start/WebApiConfig.cs文件,如图所示。
webapi接口开发实例,c#,json2.这样修改路由格式设置后,webapi接口项目部分第4步例子中的路由地址由/api/Values改成了/api/Values/Post,如下图所示。
webapi接口开发实例,c#,json

添加Swagger

1、webapi接口项目使用Nuget添加引用Swashbuckle。
webapi接口开发实例,c#,json2.项目右键点击属性,选择生成,勾选XML文档文件。
webapi接口开发实例,c#,json

webapi接口开发实例,c#,json3.修改App_Start目录下的App_Start/SwaggerConfig.cs文件,如图所示,代码如下。

var webApiXmlPath = string.Format("{0}/bin/上一步中的XML文档文件名.xml", System.AppDomain.CurrentDomain.BaseDirectory);
c.IncludeXmlComments(webApiXmlPath);

webapi接口开发实例,c#,json
4.运行之后在地址后面加上/swagger即可访问swagger页面。
如例子中的地址为http://localhost:49792,则swagger页面为http://localhost:49792/swagger。文章来源地址https://www.toymoban.com/news/detail-728357.html

到了这里,关于C# webapi接口调用实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • HarmonyOS 开发实例—蜜蜂 AI 助手

    自华为宣布 HarmonyOS NEXT 全面启动,近期新浪、B 站、小红书、支付宝等各领域头部企业纷纷启动鸿蒙原生应用开发。据媒体统计,如今 Top20 的应用里,已经有近一半开始了鸿蒙原生应用开发。虽然目前 HarmonyOS NEXT 还未面向个人开发者开放,但我们可以体验并使用最新的 API

    2024年02月04日
    浏览(38)
  • Arduino开发实例-Arduino中断详解

    本文是关于Arduino中断的文章。中断是一种让Arduino在特定事件发生时执行特定代码的功能。中断可以让Arduino在后台执行一些重要的任务,也可以让Arduino在低功耗模式下被唤醒。中断的使用需要注意一些细节和注意事项,本文将介绍中断的基本概念、使用方法和示例。 中断是

    2024年02月11日
    浏览(39)
  • HarmonyOS 远端状态订阅开发实例

    IPC/RPC 提供对远端 Stub 对象状态的订阅机制, 在远端 Stub 对象消亡时,可触发消亡通知告诉本地 Proxy 对象。这种状态通知订阅需要调用特定接口完成,当不再需要订阅时也需要调用特定接口取消。使用这种订阅机制的用户,需要实现消亡通知接口 DeathRecipient 并实现 onRemote

    2024年02月07日
    浏览(40)
  • OpenHarmony开发实例:【 待办事项TodoList】

    简介 TodoList应用是基于OpenHarmony SDK开发的安装在润和HiSpark Taurus AI Camera(Hi3516d)开发板标准系统上的应用;应用主要功能是以列表的形式,展示需要完成的日程;通过本demo可以学习到 JS UI 框架List使用; 运行效果 样例原理 本demo只有一个list组件组成,初始化数据展示列表,并

    2024年04月28日
    浏览(34)
  • HarmonyOS开发实例:【分布式邮件】

    基于TS扩展的声明式开发范式编程语言编写的一个分布式邮件系统,可以由一台设备拉起另一台设备,每次改动邮件内容,都会同步更新两台设备的信息。效果图如下: 完成本篇Codelab我们首先要完成开发环境的搭建,本示例以 Hi3516DV300 开发板为例,参照以下步骤进行: [获取

    2024年04月28日
    浏览(42)
  • OpenHarmony开发实例:【新闻客户端】

    本篇Codelab我们将教会大家如何构建一个简易的OpenHarmony新闻客户端(JS版本)。应用包含两级页面,分别是主页面和详情页面,两个页面都展示了丰富的UI组件,其中详情页的实现逻辑中还展示了如何通过调用相应接口,实现跨设备拉起FA。本教程将结合以下内容进行讲解:

    2024年04月28日
    浏览(26)
  • 关于微信小程序云开发以及云开发实例展示

    本文分享给使用 微信云开发 的同学 首先, 云开发 是一种趋势,因为跨平台解决方案可以提高开发效率,减少开发成本。使用云开发,开发者无需关注服务器、网络和数据库等底层技术,可以专注于业务逻辑的开发,从而减少了开发和运维方面的投入。 云开发的最大优点之

    2024年02月11日
    浏览(55)
  • chrome插件开发实例08- 使用Vue.js开发chrome插件

    目录 背景 演示 功能介绍 插件下载 注意写法:  将  下面的两个插件 改写成vue.js , elementui  实现

    2024年02月13日
    浏览(30)
  • openssl+sha256开发实例(C++)

    SHA-256(Secure Hash Algorithm 256-bit)是一种哈希算法,属于 SHA-2(Secure Hash Algorithm 2)家族的一员。SHA-256 产生的哈希值是一个256位(32字节)的二进制数字,通常以64个十六进制字符的形式表示。 以下是 SHA-256 的一些关键特点和应用: 安全性: SHA-256 被广泛认为是安全的哈希算法

    2024年01月17日
    浏览(41)
  • 《HarmonyOS开发 – OpenHarmony开发笔记(基于小型系统)》第4章 OpenHarmony应用开发实例

    开发环境 : 开发系统:Ubuntu 20.04 开发板:Pegasus物联网开发板 MCU:Hi3861 OpenHarmony版本:3.0.1-LTS 1.新建工程及源码 新建目录 在applications/sample/myapp中新建src目录以及myapp.c文件,代码如下所示。 新建编译组织文件 新建applications/sample/myapp/BUILD.gn文件,内容如下所示: static_libr

    2024年02月09日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包