精华内容
下载资源
问答
  • webapi webservice接口开发案例入门 .net接口开发
    千次阅读
    2019-11-19 20:36:58

    课程目标

    本课程使用案例讲解,适用于需要快速上手webapi 接口开发的学员,帮助无接口开发基础的学员快速入

    适用人群

    迫切需要完成接口开发功能学员,接口开发无基础学员,开发兴趣者

    课程地址:https://edu.51cto.com/course/20398.html

    课程概要:

    本课程介绍当下使用.net开发语言完成接口开发的三个方法:简单接口开发方法、webservice接口开发方法、webapi接口开发方法。本课程面像无接口开经验的学员讲解,在做每一个案例的时候,会从最基础的步骤开始,一步步讲解并演示开发过程。

    知识点:

    本课程涉及到的知识点有,C#语法、SQLLITE数据库、JSON数据格式、XML数据格式、POST、GET、POSTMAN

    课程内容:

    第1章 课程介绍 课程简介

    课程需要使用的工具

    我预计的课程规划

    第2章、环境搭建

    课时1:webapi接口开发应用场景

    课时2:不同开发场景的环境配置

    课时3:安装开发环境及配置

    课时4:Postman调试环境安装

    课时5:数据库sqllite安装使用

    课时6:json xml解析工具 

     第3章 2.案例开发简单接口应用

    课时1:简单接口开发场景介绍

    课时2:简单接口开发环境搭建

    课时3:第一个简单的ashx接口程序

    课时4:通过接口调用查询员工详细信息

    课时5:通过接口调用新增员工信息

    课时6:通过接口调用修改员工信息

    课时7:通过接口调用删除员工信息

    课时8:接口应用程序发布调试

    课时9:接口调用案例

     第4章 3.案例开发webservice接口开发

    课时1:webservice接口开发场景介绍

    课时2:webservice接口开发环境搭建

    课时3:第一个简单的webservice接口程序

    课时4:webservice接口调用查询订单信息

    课时5:webservice接口调用增加新订单

    课时6:webservice接口调用更改状态状态

    课时7:webservice接口调用删除订单

    课时8:接口应用程序发布调试

    课时9:webservice案例制作过程

     第5章 4.案例开发webapi接口

    课时1:案例应用场景介绍

    课时2:案例环境搭建

    课时4:GET查询并返回商品信息

    课时5:POST增商品信息

    课时6:PUT修改商品信息

    课时7:删除商品信息

    课时8:案例发布测试

    课时9:调用webapi接口服务

    更多相关内容
  • Web API接口开发和测试

    千次阅读 2020-07-10 09:16:01
    上面我们定义了一般的Web API接口,以及实现相应的业务实现,如果我们需要创建Web API层,还需要构建一个Web API项目的。 创建好相应的项目后,可以为项目添加一个Web API基类,方便控制共同的接口。 ...

    4、ASP.NET Web API的开发

     上面我们定义了一般的Web API接口,以及实现相应的业务实现,如果我们需要创建Web API层,还需要构建一个Web API项目的。

     

     

    创建好相应的项目后,可以为项目添加一个Web API基类,方便控制共同的接口。

     

    然后我们就可以在Controller目录上创建更多的应用API控制器了。

     

    最后我们为了统一所有的API接口都是返回JSON方式,我们需要对WebApiConfig里面的代码进行设置下。

    public static class WebApiConfig

        {

            public static void Register(HttpConfiguration config)

            {

                // Web API 配置和服务

                config.SetCorsPolicyProviderFactory(new CorsPolicyFactory());

                config.EnableCors();

     

                // Web API 路由

                config.MapHttpAttributeRoutes();

     

                config.Routes.MapHttpRoute(

                    name: "DefaultApi",

                    routeTemplate: "api/{controller}/{action}/{id}",

                    defaults: new { action = "post", id = RouteParameter.Optional }

                );

     

                // Remove the JSON formatter

                //config.Formatters.Remove(config.Formatters.JsonFormatter);

     

                // Remove the XML formatter

                config.Formatters.Remove(config.Formatters.XmlFormatter);

            }

        }

    5、Web API 接口的测试

    接下来我们要做的就是需要增加业务接口,以便进行具体的测试了,建议使用Winform项目,对每个接口进行一个测试,或者也可以考虑使用单元测试的方式,看个人喜好吧。

    例如我们如果要测试用户登陆的接口的话,我们的测试代码如下所示。

    /// <summary>

            /// 生成签名字符串

            /// </summary>

            /// <param name="appSecret">接入秘钥</param>

            /// <param name="timestamp">时间戳</param>

            /// <param name="nonce">随机数</param>

            private string SignatureString(string appSecret, string timestamp, string nonce)

            {

                string[] ArrTmp = { appSecret, timestamp, nonce };

     

                Array.Sort(ArrTmp);

                string tmpStr = string.Join("", ArrTmp);

                tmpStr=FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");

                return tmpStr.ToLower();

            }

     

            private TokenResult GetTokenResult()

            {

                string timestamp = DateTime.Now.DateTimeToInt().ToString();

                string nonce = new Random().NextDouble().ToString();

                string signature = SignatureString(appSecret, timestamp, nonce);

     

                string appended = string.Format("&signature={0}×tamp={1}&nonce={2}&appid={3}", signature, timestamp, nonce, appId);

                string queryUrl = url + "Auth/GetAccessToken?username=test&password=123456" + appended;

     

                HttpHelper helper = new HttpHelper();

                string token = helper.GetHtml(queryUrl);

                Console.WriteLine(token);

                TokenResult tokenResult = JsonConvert.DeserializeObject<TokenResult>(token);

                return tokenResult;

            }

     

    如果我们已经获得了令牌,我们根据令牌传递参数给连接,并获取其他数据的测试处理代码如下所示。

     

    //获取访问令牌

                TokenResult tokenResult = GetTokenResult();

     

                string queryUrl = url + "/Contact/get?token=" + tokenResult.access_token;

                HttpHelper helper = new HttpHelper();

                string result = helper.GetHtml(queryUrl);

                Console.WriteLine(result);

     

    如果需要POST数据的话,那么调用代码如下所示。

    //使用POST方式

                var data = new

                {

                    name = "张三",

                    certno = "123456789",

                };

                var postData = data.ToJson();

     

                queryUrl = url + "/Contact/Add?token=" + tokenResult.access_token;

                helper = new HttpHelper();

                helper.ContentType = "application/json";

                result = helper.GetHtml(queryUrl, postData, true);

                Console.WriteLine(result);

     

    Web API后台,会自动把POST的JSON数据转换为对应的对象的。

     

    如果是GET方式,我们可能可以直接通过浏览器进行调试,如果是POST方式,我们需要使用一些协助工具,如Fiddler等处理工具,但是最好的方式是自己根据需要弄一个测试工具,方便测试。

    以下就是我为了自己Web API 接口开发的需要,专门弄的一个调试工具,可以自动组装相关的参数,包括使用安全签名的参数,还可以把所有参数数据进行存储。

     

    博客 https://www.cnblogs.com/yelanggu/p/10002346.html

    展开全文
  • WebAPI接口开发实践

    千次阅读 2020-02-02 16:29:53
    背景 在团队两年多陆续负责了几个项目的开发上线已经代码的...WebAPI开发流程 第一步首先设计接口文档,公司内部有一套自研的多人协作文档系统,可以很好的做到这一步,并能很好的做好版本控制。如果公司内部没...

    背景

    在团队两年多陆续负责了几个项目的开发上线已经代码的review,特别是对老项目的重构过程中,发现之前的API设计是没有任何规范和约定的,不同的开发同学有不同的习惯,因此需要一套规范去约定,现在分享一下我们目前试运行的一套规范,一起交流完善下。

    WebAPI开发流程

    • 第一步首先设计接口文档,公司内部有一套自研的多人协作文档系统,可以很好的做到这一步,并能很好的做好版本控制。如果公司内部没有可以基于showdoc搭建一套
    • 第二步有技术负责人确认接口以及字段的命名规范
    • 第三步找对应API对接人,确认接口是否符合要求

      这三步其实是个闭环,只有等到全部通过后才会正式开始开发API

    命名规范

    • 所有接口中不能出现拼音,统一用英语
    • 不能有特殊字符,例如/
    • 接口命名遵循像个原则: 简单 易懂

      出入参规范

    • 命名规范参考之前的一篇文章
    • 若需要使用分割符,只可以使用中划线 -
    • 禁止把所有数据库字段全部返回,统一使用Dto,只返回调用方需要的字段

      HTTP 请求方法使用规范

    根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
    HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
    HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
    这里统一只是用 GET, POST,PUT,DELETE,PATCH

    GET(SELECT): 从服务器获取单个资源或者资源列表
    POST(CREATE):发送请求创建一个新的资源
    PUT(UPDATE):通过接口更新服务器上的资源信息,资源内容全量更新,提供资源全部字段信息
    DELETE(DELETE):通过删除服务器上的资源
    PATCH(UPDATE) :通过接口更新服务器上的资源信息,资源内容增量更新,仅提供更新的属性信息
    具体使用规范,使用GET查询获取信息,POST创建新的资源,PUT修改已存在资源信息,DELETE删除服务器资源信息,不强制要求使用Patch。

    HTTP码状态使用规范

    • 200 OK :成功
    • 201 CREATED:成功创建数据 不强制使用,可以使用200
    • 400 Bad Request:提交的参数错误。错误信息中要能体现哪个parameter没有通过validation,为什么
    • 401 Unauthorized:客户端传入了一个无效的auth token。客户端需要更新token进行重试,包括让用户重新登陆
    • 403 Forbidden:访问被拒绝。最常见的case为水平越权。和401的区别是:如果改接口需要用户登陆,无有效的登陆token,则返回401,表示登陆验证未通过。登陆验证通过后,但是因为要操作的资源没有权限,则返回403.比如用户更新或者删除不属于自己的resource
    • 404 Not Found: 资源为找到
    • 429 Too Many Requests:对于限频接口请求次数超频
    • 500 Internal Server Error:应用服务器内部错误
    • 502 Bad Gateway:网关或者代理处理请求错误
    • 503 Service Unavailable:应用服务器暂时不可用
    • 504 Gateway Timeout: 网关超时。网关从上游服务没有在设定的时长内获取到数据。

    自定义Header规范,

    x-[应用英文缩写]-[语义化英文单词说明用途]

    示例:
    X-Test-Authorization: qwaszxerdfcvtyghbn

    返回规范

    全部统一使用 Content-Type = application/json 格式返回

    请求失败的Response

    • Http码的状态为200或者201
    • code统一为 200,message 为success
    • isSuccess为true
    • 有返回值时,统一通过data返回,无返回值时为{},禁止使用null返回
    • 返回的header中追加标记本次请求的唯一值的 X-[项目英文缩写]-ResponseId
    {
      "isSuccess": true,
      "code": 200,
      "message": "success",
      "data": {
        "id": 0,
        "value": "Default"
      },
      "timestamp": "02/02/2020 13:19:22"
    }

    请求异常的Response

    • Http码的状态根据上一小节介绍的按需使用
    • code和http码对应,message 为对应异常说明
    • isSuccess为false
    • data统一返回为{}
    • 返回的header中追加标记本次请求的唯一值的 X-[项目英文缩写]-ResponseId
    {
      "isSuccess": false,
      "code": 400,
      "message": "Bad Request",
      "value": {},
      "timestamp": "02/02/2020 13:35:33"
    }

    接口注释说明

    约定

    • 项目统一使用swagger
    • 接口相关的文档地址
    • 相关jira.$ 分割 XXX-XXX $ XXX-XXX
    • 可能的返回的状态码
    • 对应参数说明
    /// <summary>
    /// PUT api/values/5
    /// </summary>
    /// <param name="id">id</param>
    /// <param name="dto">dto</param>
    /// <remarks>
    /// <url>doc: https://www.cnblogs.com/sagecheng/</url> <br/>
    /// <br/>
    /// <br/>
    /// <jira>jira: XXX-XXX</jira>
    /// </remarks>
    /// <returns></returns>
    /// <response code="200"> success </response>
    /// <response code="400">If the id is null</response>
    /// <response code="404">If the id is not found</response>
    [HttpPut("{id}")]
    [ProducesResponseType(StatusCodes.Status200OK)]
    [ProducesResponseType(StatusCodes.Status400BadRequest)]
    [ProducesResponseType(StatusCodes.Status404NotFound)]
    public ApiResult Put(int id, [FromBody] ValueDto dto)
    {
        var info = values.FirstOrDefault(o => o.Id == id);
        if (info == null)
        {
            throw new ApiException(StatusCodes.Status404NotFound, "Not Found");
        }
        info.Value = dto.Value;
        return ApiResult.GetSuccessResult();
    }

    Swagger相关效果

    整体效果
    avatar_www.wityx.com

    注释效果
    avatar_www.wityx.com

    参考文章

    Swashbuckle 和 ASP.NET Core 入门

    展开全文
  • 使用C# ASP.NET WebAPI构建API接口服务,实现前后端分离开发。同时,可使用工具自动生成接口文档,构建标准的WebApi的Rest后台数据接口服务接口。
  • 学习.net web api开发的好例子,采用的是.net环境下的web mvc开发简单的api,典型的MVC架构,适合初学者
  • 随着Web技术的发展,现在各种框架,前端...前端根据事先约定好的文档,可以自己摸拟数据,然后开发,测试,调试UI,发布到线上时把API接口改成线上API接口,即可完事。 前端日后增加新功能,修改UI,自己修改,自己编译
  • 因为是接口框架,首先要做的就是制定接口规范,好的接口规范能约束开发人员,能降低前后端人员之间的沟通协调,能避免后期联调带来的一系列问题。 1.接口规范 接口规范包含以下内容: 1、请求类型及参数 2、返回值及...

    因为是接口框架,首先要做的就是制定接口规范,好的接口规范能约束开发人员,能降低前后端人员之间的沟通协调,能避免后期联调带来的一系列问题。

    1.接口规范
    接口规范包含以下内容:
    1、请求类型及参数
    2、返回值及返回码
    3、权限及版本控制
    4、接口示例
    2.接口请求说明
    Api使用Restful风格,接口地址(测试):http://host:port
    (接口描述中地址需要扩展自此地址,如/api/users/register,扩展后则为 http://host:port/api/users/register)
    接口请求类型分为两种,GET和POST,GET通常为请求获取资源;POST通常为提交资源到服务器;
    接口请求返回值基本分为两种:
    GET的请求若无错误,则返回所需资源的JSON格式内容,若有错误则返回一致的JSON格式内容,如:{“success”:false, “message”: “提交的参数不正确”, data: {}},其中data为额外的对象,具体值根据接口而定;
    POST的请求的Body部分可以将对象格式化为JSON的字符串后提交,也可以使用传统的Form表单形式提交, 返回一致的JSON格式内容:如:{“success”:true, “message”: null, data: {id:1}},其中data的内容也是具体根据接口而定。
    返回码说明:

    200 请求成功
    400 客户端请求时所提交的参数不正确(通常为客户端的问题)
    401 未提供accessToken(即未登录)
    403 权限不足(已登录,但不具有访问该资源的权限)
    404 找不到该资源(通常为请求的地址不正确)
    500 服务发生错误(通常为服务端的问题)

    实际生产中,请求基本都为POST
    3.接口权限说明
    接口权限验证使用OAUTH2.0标准,即先请求授权服务获取accessToken,得到accessToken后使用其内容封装到request的头(Headers)中,用以请求被保护的资源;
    accessToken封装在Headers中是以Authorization键值对形式组成的,如:accessToken为4cac113f-29b1-4585-99a8-16e39331ccb3,封装的内容为:Authorization: 4cac113f-29b1-4585-99a8-16e39331ccb3这种形式。
    4.接口请求版本说明
    各个接口在header里面都加Version字段,用于控制接口的版本,服务端程序可以根据版本号来动态返回数据,也可以根据版本号来提示app升级。不加version默认1.0。
    5.公共返回码
    为了保证接口的规范性,特制定标准返回码:
    成功类:

    10001 保存成功
    10002 删除成功
    10003 操作成功
    10004 审核成功

    失败类

    20001 操作失败
    20002 代码已存在
    30001 无权限
    30002 系统错误
    30003 参数错误
    30004 路径不存在

    5.接口示例

    接口示例.png

    上述是登录接口的文档标识

    总结
    设计接口规范是一个相当复杂的事情,要综合考虑很多技术及实现细节。后续章节依次讲述这些细节,并不断完善规范文档。

    展开全文
  • 基于.NetCore3.1搭建webapi框架。涉及知识有: 1.swagger API接口文档生成 2.多层(包含接口调用方式)高性能数据处理结构 3.数据仓储模式的实现 4.JWT token身份授权验证 5.appsetting.json文件集成读取配置
  • java web接口开发demo

    千次下载 热门讨论 2016-06-03 16:53:46
    java web接口开发demo 详细地址:http://blog.csdn.net/zxw136511485/article/details/51437115
  • webAPI案例

    2019-04-20 10:33:14
    一些自习学习过程中做的小案例,涉及到轮播的,常见的左右切换的、旋转木马一样的,手风琴状的轮播图,以及移动端的区域滑动,同时简单的使用了swiper和iscroll两个插件类库
  • MVC实现的webApi接口

    2019-03-14 10:20:29
    1.使用.net Framework 4.5实现的webApi接口。 2. http get 请求,json格式返回 。 3.请求格式为:http://192.168.10.100/ParkApi/Index 4.返回格式为:{"code":1,"msg":"success"}
  • JAVA-WEB开发整套API文档,包括前后端框架等;ajax教程,CSS4.0中文参考手册;DHTML_DOC_CN;JSP API;Linux常用命令大全;Struts2
  • C# WEB API

    2017-10-31 23:02:03
    C# WEB API 最近项目上要用到WEB API 接口,参考网上相关文档写了个简单的调用实例。供大家参考,希望对大家有帮助。
  • c# http请求webapi接口封装类
  • 金蝶云 自定义WebAPI接口 c#程序示例 接口的封装及调用(无引用组件示例(不引用金蝶的组件))
  • web安全措施.你写的WEB API接口如何预防黑客攻击 现在WEB开发都是动静分离 后端编写API接口 那如何防止黑客攻击你的HTTP API接口
  • K_3Cloud+WebAPI接口说明,三方集成,提供第三方系统与Cloud集成调用接口,三方客户端 引用Kingdee.BOS.WebApi.Client.dll (注:此客户端引用Api封装的是Http请求)。
  • web-api测试工具

    2018-02-23 14:31:17
    用于web-api调试使用的工具。用户可以自由的修改http报文件头。软件需要安装 .net framework 4.0运行环境
  • WebAPI 是一种用来开发系统间接口、设备接口 API 的技术,...本教程将通过一个网站后台管理模块接口处理,让大家了解服务器端WebApi接口开发实现过程,并在实际操作中掌握WebApi编程模式的一些重要知识点及开发技巧。
  • web项目API接口设计与开发总结

    千次阅读 2019-08-31 18:48:47
    当前公司自主开发的一个AI图片识别项目,需要对外开放提供接口,领导二话没说把这个任务交给我来做,算是对我的一次考验。虽然以前自己没有设计过接口,但是调用过别人写的接口,如百度提供的接口,还有以前在项目中...
  • 金蝶云星空WebAPI接口文档4.0版本 用于金蝶Cloud产品的接口开发调用 cloud和k3 wise还是有很大区别的,希望能帮到大家
  • WebApi接口平台

    2020-09-19 17:13:31
    在面向服务开发的时代,WebApi使 .Net 的接口开发脱离IIS束缚,更加灵活,轻量 实现功能: 通过搭建Windows服务构造WebApi站点 透过 http://*/api/v1/controller 的方式访问对应版本的 API 插件式开发,将写好接口的dll...
  • 1.用.Net6平台WebApi项目开发 2.使用jwt给用户颁发密钥 3.swagger验证配置 4.接口jwt验证密钥方法 5.运行就能使用
  • 使用c++通过http协议调用web接口,可以调用基于http协议的所有web接口,支持linux和windows,同时有测试样例在文件中。
  • 在中ASP.NET MVC 4微软增加了对Web API的支持, Entity Framework也是微软推出的一个轻量级的ORM框架,如何结合使用这两者构建网站项目?本教程教你一步一步的建立一个商城应用,在这个过程中对Web API、ASP.NET MVC...
  • C#进阶系列——WebApi 接口

    千次阅读 2019-06-15 01:49:31
    原文地址:https://www.cnblogs.com/landeanfen/tag/WebApi/
  • 语音转写基于科大讯飞WebApi接口的安卓实现--上传录音音频翻译成文字 实现方法链接:https://blog.csdn.net/qq_33315364/article/details/104668152#comments_12152992
  • ASP.NET WebAPI开发实例

    千次阅读 2020-06-29 16:52:31
    最近因为朋友的一个提问,自己就去学习了一下WebApi,后来百度了一下发现了一遍不错的文档,记录转载一下。 一、环境搭建 打开VS2012, IDE版本为Visual Studio Ultimate 2012 文件 - 新建项目 - Visual C# - ...
  • Web API接口实例练习

    千次阅读 2017-08-12 00:50:00
    第一步创建MVC4项目: 创建 ...选择api 第二步:在Models下创建一个Student类: namespace TestOne.Models { public class Student { public int id { get; set; } public string nam...
  • K3/Cloud6.x,7.x(现在叫金蝶云了)均可用,很实用的webapi实例,代码很全已打包

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 339,656
精华内容 135,862
关键字:

webapi接口开发