C# webapi接口调用实例

2024-03-01 1654阅读

温馨提示:这篇文章已超过389天没有更新,请注意相关的内容是否还可用!

目录

  • 源码
  • 测试目标
    • 请求数据
    • 响应数据
    • webapi接口项目部分
    • dll类库项目部分
    • 番外篇
      • 修改路由格式
      • 添加Swagger

        书接上回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

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

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

        webapi接口项目部分

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

        C# webapi接口调用实例

        2.然后创建响应数据的实体类Data,请求数据的实体类Test。

        C# webapi接口调用实例

        C# webapi接口调用实例

        3.修改Controllers/ValuesController.cs里API路径为api/Values的POST请求接口如图所示。

        注意:Body只接收一个参数的传递,想要在Body中传递多个参数,需要将这多个参数封装成一个对象。

        C# webapi接口调用实例

        4.此时就可以用postman验证接口的效果了,如图所示。

        C# webapi接口调用实例

        dll类库项目部分

        0.新建一个类库项目,如图在搜索框输入类库,选择类库(.NET Framework),点下一步即可生成一个初始类库项目。

        注意:一般会把接口调用方法所在的类生成dll文件来减少耦合,且通过引用dll文件的方式可以在多个项目复用,因此这里为了模拟选择了类库项目。

        C# webapi接口调用实例

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

        2.使用Nuget添加引用Newtonsoft.Json。

        C# webapi接口调用实例C# webapi接口调用实例3.编写将对象转换为json字符串和将json字符串转换为指定类型对象的工具类JsonHandler。

        C# webapi接口调用实例

        4.编写处理HTTP请求的工具类HttpHandler。

        C# webapi接口调用实例

        5.编写一个测试类Class1,其中写测试方法show3。

        C# webapi接口调用实例

        6.将生成的dll类库项目引入其他项目,输出的结果如下图所示。(此处我生成了一个winform应用程序作为测试,直接写到main函数里)

        C# webapi接口调用实例

        C# webapi接口调用实例

        番外篇

        修改路由格式

        1.修改webapi接口项目部分第1步中的App_Start目录下的App_Start/WebApiConfig.cs文件,如图所示。

        C# webapi接口调用实例2.这样修改路由格式设置后,webapi接口项目部分第4步例子中的路由地址由/api/Values改成了/api/Values/Post,如下图所示。

        C# webapi接口调用实例

        添加Swagger

        1、webapi接口项目使用Nuget添加引用Swashbuckle。

        C# webapi接口调用实例2.项目右键点击属性,选择生成,勾选XML文档文件。

        C# webapi接口调用实例

        C# webapi接口调用实例3.修改App_Start目录下的App_Start/SwaggerConfig.cs文件,如图所示,代码如下。

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

        C# webapi接口调用实例

        4.运行之后在地址后面加上/swagger即可访问swagger页面。

        如例子中的地址为http://localhost:49792,则swagger页面为http://localhost:49792/swagger。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]