精华内容
下载资源
问答
  • 软件中什么是接口?软件接口的具体定义

    万次阅读 多人点赞 2018-11-18 17:38:37
    软件接口就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。(而不是指传输的数据!!) 比如腾讯发布一个qq登录的接口(一个函数),别人拿到这个函数放到自己的网站代码里面运行,就可以...

    硬件接口都好理解:就是负责连接外部设备,传输数据的端口,比如usb接口。

    软件的接口我看了好多文章的定义都不严谨和形象,所以在这说一下。

    软件接口就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。(而不是指传输的数据!!)

    比如腾讯发布一个qq登录的接口(一个函数),别人拿到这个函数放到自己的网站代码里面运行,就可以通过这个函数把用户输入的账号密码传给腾讯服务器,服务器校验成功后就能让用户第三方登录QQ了。

    展开全文
  • 无规矩不成方圆,为了开发人员间更好的配合,我特意整理了这么一篇文档...接口规范定义 一、协议规范 为了确保不同系统/模块间的数据交互,需要事先约定好通讯协议,如:TCP、HTTP、HTTPS协议。为了确保数据交互安...

         无规矩不成方圆,为了开发人员间更好的配合,我特意整理了这么一篇文档供大家参考学习,如有意见、见解,请在评论区留言探讨。

         接口规范说起来大,其实也就那么几个部分,接口规范、接口管理工具、接口文档编写、开发文档编写

     

    接口规范定义

    一、协议规范

        为了确保不同系统/模块间的数据交互,需要事先约定好通讯协议,如:TCP、HTTP、HTTPS协议。为了确保数据交互安全,建议使用HTTPS协议。

     

    二、接口路径规范

        作为接口路径,为了方便清晰的区分来自不同的系统,可以采用不同系统/模块名作为接口路径前缀。

    格式规范如下:

        支付模块   /pay/xx

        订单模块  /order/xx

     

    三、版本控制规范

        为了便于后期接口的升级和维护,建议在接口路径中加入版本号,便于管理,实现接口多版本的可维护性。如果你细心留意过的话,你会发现好多框架对外提供的API接口中(如:Eureka),都带有版本号的。如:接口路径中添加类似"v1"、"v2"等版本号。

    格式规范如下:

          /xx/v1/xx

    更新版本后可以使用v2、v3等、依次递加。

     

    四、接口命名规范

        和Java命名规范一样,好的、统一的接口命名规范,不仅可以增强其可读性,而且还会减少很多不必要的口头/书面上的解释。

        可结合【接口路径规范】、【版本控制规范】,外加具体接口命名(路径中可包含请求数据,如:id等),建议具体接口命名也要规范些,可使用"驼峰命名法"按照实现接口的业务类型、业务场景等命名,有必要时可采取多级目录命名,但目录不宜过长,两级目录较为适宜。

    格式规范如下:

        /user/v1/sys/login     用户服务/模块的系统登录接口

       /zoo/v1/zoos/{ID}        动物园服务/模块中,获取id为ID的动物

     

    具体接口命名,通常有以下两种方式:

    • 接口名称动词前/后缀化

        接口名称以接口数据操作的动词为前/后缀,常见动词有:add、delete、update、query、get、send、save、detail、list等,如:新建用户addUser、查询订单详情queryOrderDetail。

    • 接口名称动词+请求方式

         接口路径中包含具体接口名称的名词,接口数据操作动作以HTTP请求方式来区分。常用的HTTP请求方式有:

        GET:从服务器取出资源(一项或多项)。

        POST:在服务器新建一个资源。

        PUT:在服务器更新资源(客户端提供改变后的完整资源)。

        PATCH:在服务器更新资源(客户端提供改变的属性)。

        DELETE:从服务器删除资源。

    如:

        GET /zoo/v1/zoos:列出所有动物园

        POST /zoo/v1/zoos:新建一个动物园

        GET /zoo/v1/zoos/{ID}:获取某个指定动物园的信息

        PUT /zoo/v1/zoos/{ID}:更新某个指定动物园的信息(提供该动物园的全部信息)

        PATCH /zoo/v1/zoos/{ID}:更新某个指定动物园的信息(提供该动物园的部分信息)

        DELETE /zoo/v1/zoos/{ID}:删除某个动物园

        GET /zoo/v1/zoos/{ID}/animals:列出某个指定动物园的所有动物

        DELETE /zoo/v1/zoos/ID/animals/ID:删除某个指定动物园的指定动物

     

    五、请求参数规范

    • 请求方式:

    按照GET、POST、PUT等含义定义,避免出现不一致现象,对人造成误解、歧义。

    • 请求头:

    请求头根据项目需求添加配置参数。如:请求数据格式,accept=‘application/json’等。如有需要,请求头可根据项目需求要求传入用户token、唯一验签码等加密数据。

    • 请求参数/请求体:

            请求参数字段,尽可能与数据库表字段、对象属性名等保持一致,因为保持一致最省事,最舒服的一件事。

     

    六、返回数据规范

        统一规范返回数据的格式,对己对彼都有好处,此处以json格式为例。返回数据应包含:返回状态码返回状态信息具体数据。

    格式规范如下:

    {
    
        "status":"000000",
    
        "msg":"success",
    
        "data": {
    
            //json格式的具体数据
    
        }
    
    }

            返回数据中的状态码、状态信息,常指具体的业务状态,不建议和HTTP状态码混在一起。HTTP状态,是用来体现 HTTP链路状态情况,如:404-Not Found。HTTP状态码和json结果中的状态码,并存尚可,用于体现不同维度的状态。

     

    接口管理工具推荐

        接口开发完后,最终的目的是提供给其他系统/模块来使用的,因此,接口的管理是必不可少的。

    接口管理的痛点

        接口的管理常常面临很多的痛苦,这里就列举几个常见的,看看你是否也遇到过。

    • 系统/模块太多、接口太多,没有系统统一管理所有接口。
    • 代码修改后,接口文档没有及时更新,造成接口文档和实际接口不一致的现象。
    • 接口管理系统自主研开发成本高。
    • 接口管理缺少接口mock功能。

    接口管理工具推荐

           在日常工作过程中用过、接触过的接口管理工具也是不尽其数,下面介绍你可能使用过、没有使用过的接口管理工具,同时也介绍这些接口管理工具的优缺点。   

    word

          相信大家之前用来管理接口比较多的应该是word吧,开发人员将系统的接口维护在word文档里,不管是组内沟通还是和其他团队的接口沟通都离不开这些接口文档,每次修改文档和代码都要同步修改。相信使用word的缺点大家应该也很清楚,就是维护和管理很麻烦,我们经常会遇到文档和代码不一致的情况,大部分不一致都是因为接口因为种种原因修改了,开发人员大部分都是只改了代码里的接口实现,而没有去修改接口文档。而且word文档搜索接口也很麻烦,没办法建全局索引,只能一个个文档点开查看,想想就很痛苦。但不可否认的是,word对于一些小团队用起来还是挺方便的,不用搭建系统,给谁一看就明白。

    自建接口管理系统

           对于一些有一定规模的企业,在各项工程管理活动上都非常正规,各种ISO标准要遵守,自然对接口管理的要求也非常高,之前在国有银行,我们就是自建了接口管理系统,自建还是很消耗人力成本的,从开发到后续运维,都要消耗人力,但是自建的好处就是,可以根据公司的要求进行各种花样的定制,我们之前在接口管理系统中加入了很多好用的定制功能,例如接口被哪些系统调用、接口是在哪个批次投产又在哪个批次做过变更等等,这对于架构师来说非常好用,用于分析接口影响范围非常方便。目前开源的接口管理系统还没有能做到这些定制化功能的。

    wiki

          之前在小团队的时候还用过一段时间的私有wiki,wiki特别适合于小团队高速线性迭代开发,在wiki上看到的就是最新的接口,团队内所有成员看到的都是一样的,如果接口有变化,相关开发人员修改后立即生效,保证了顺畅的接口沟通。但是wiki的缺点也很多,接口文档只是静态页面,无法实现一些动态效果,无法实现追溯等等缺点。

    RAP

           相信很多互联网公司都在使用RAP,RAP是阿里开源的一套接口管理系统,RAP可以比较方便的管理公司所有系统的接口,同时还有比较完善的权限管理,还可以做接口mock,方便开发人员在接口功能还没有完成的时候能够及时发布出去,给调用方去使用。但是RAP的缺点就是每个接口都需要维护进去,接口修改后也需要及时维护,当时我们在使用的时候遇到的最大的问题也是经常碰到接口没有及时维护的问题。

    swagger

          上面说的那些接口管理工具,其实都有一个很大的问题就是修改代码后需要同步维护接口文档,但是让程序员去修改文档是很难的,大部分程序员都比较讨厌维护各类文档。当我第一次了解到swagger的时候,发现这简直就是为程序员定制的接口管理工具,swagger定义了很多注解,在对接口加上swagger相关的注解,当接口代码修改后,swagger在工程启动后会根据代码自动生成最新的接口html文档,同时swagger提供了mock接口模拟的功能,也能够更加方便的模拟接口,并且还能够在swagger界面上直接发起接口调用,可以方便调用方在还没写代码的时候就能够尝试下接口调用后的结果。

          看了那么多swagger的优点,下面也说说swagger的缺点,那就是swagger是跟随着每个工程一起启动的,这就导致每个工程都有一个swagger的访问地址,如果公司系统很多的话,那就会导致查看不同系统的接口都要到不同的地址去查看,每个开发都要自己收藏好各个系统的swagger地址。有些公司也自己开发了统一网关,将所有swagger的接口地址聚合起来,但是多少还是涉及到一些开发工作的,而且做的还不一定很完善。

    Easy Mock

            官网的这张图基本上介绍清楚了easymock的核心功能,这其中我最看重的功能有两块,一个是能够集成swagger接口并集中管理所有接口,另一个就是响应式数据。

           EasyMock能够根据swagger接口的地址自动导入所有swagger接口,非常方便,对于非swagger的接口也可以手工维护进去,这样可以很方便的做到全公司接口统一维护,而且也有比较完善的接口权限管理,方便分组管理。但缺点就是过于庞大,可能太适合小一点项目或团队。

     

          上面提及到接口管理工具,大家可根据自己项目的规模、需求,进行实际选择,切记生搬硬套。

     

    欢迎微信扫码下面二维码,关注微信公众号【程序猿技术大咖】,进行更多交流学习!

    展开全文
  • JTAG接口定义与其他简介

    万次阅读 多人点赞 2019-01-12 19:59:24
    JTAG接口定义与其他简介 JTAG(Joint Test Action Group)是一个接口,为了这个接口成立了一个小组叫JTAG小组,它成立于1985年,比推丸菌的年龄还大。在1990年IEEE觉得一切妥当,于是发布了 IEEE Standard 1149.1-...

    JTAG接口定义与其他简介

    JTAG(Joint Test Action Group)是一个接口,为了这个接口成立了一个小组叫JTAG小组,它成立于1985年,比推丸菌的年龄还大。在1990年IEEE觉得一切妥当,于是发布了 IEEE Standard 1149.1-1990,并命名为 Standard Test Access Port and Boundary-Scan Architecture,这就是大名鼎鼎的JTAG了。

    JTAG的三大功能你知道吗,响当当的:
    1.下载器,即下载软件到FLASH里。
    2. DEBUG,跟医生的听诊器似的,可探听芯片内部小心思。
    3. 边界扫描,可以访问芯片内部的信号逻辑状态,还有芯片引脚的状态等等。

    JTAG根本没有标准的接口定义,甚至每家公司定义都不一样,推丸菌罗列了4种接口定义,有ARM公司的定义,有ST公司的定义等等,仅供大家参考。可能有眼尖的工程师,对的,我这个跟Intel的文档是一样的[请参考jtag-101-ieee-1149x-paper.pdf]。推丸菌建议硬件攻城狮不要纠结于引脚定义,而要专心设计电路,深入理解TMS/TCK/TDO/TDI等信号。
    在这里插入图片描述

    在JTAG接口中,最常用的信号有四个,分别是TCK/TMS/TDO/TDI。JTAG接口可以一对一的使用,也可以组成菊花链的一对多拓扑结构,两种拓扑结构如下图所示。多核的芯片,其芯片内部已经接成了菊花链的形式。
    在这里插入图片描述

    JTAG中虽然常用4个引脚,对于攻城狮来说,一定要掌握这4个信号,但对其他信号也要充分了解,这样在使用的时候,就可以做到随心所欲。下表介绍了JTAG和SWD信号接口,表中所有信号流向,是相对芯片而言的。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 接口文档定义

    千次阅读 2019-03-18 21:23:36
    在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。 二、为什么要写接口文档? 1、项目开发过程中...

    一、什么是接口文档?

    在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。

    二、为什么要写接口文档?
    1、项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发
    2、项目维护中或者项目人员更迭,方便后期人员查看、维护

    三、接口规范是什么?
    首先接口分为四部分:方法、uri、请求参数、返回参数
    1、方法:新增(post) 修改(put) 删除(delete) 获取(get)
    2、uri:以/a开头,如果需要登录才能调用的接口(如新增、修改;前台的用户个人信息,资金信息等)后面需要加/u,即:/a/u;中间一般放表名或者能表达这个接口的单词;get方法,如果是后台通过搜索查询列表,那么以/search结尾,如果是前台的查询列表,以/list结尾;url参数就不说了。
    3、请求参数和返回参数,都分为5列:字段、说明、类型、备注、是否必填
    字段是类的属性;说明是中文释义;类型是属性类型,只有String、Number、Object、Array四种类型;备注是一些解释,或者可以写一下例子,比如负责json结构的情况,最好写上例子,好让前端能更好理解;是否必填是字段的是否必填。
    4、返回参数结构有几种情况:1、如果只返回接口调用成功还是失败(如新增、删除、修改等),则只有一个结构体:code和message两个参数;2、如果要返回某些参数,则有两个结构体:1是code/mesage/data,2是data里写返回的参数,data是object类型;3、如果要返回列表,那么有三个结构体,1是code/mesage/data,data是object,里面放置page/size/total/totalPage/list 5个参数,其中list是Arrary类型,list里放object,object里是具体的参数。

    注意:uri地址里不允许出现大写字母,如果是两个单词拼接,用/分开

    展开全文
  • motorola 对讲机 接口定义 需要就来下载
  • 软件接口说明文档

    千次阅读 2019-03-11 10:37:36
    软件接口说明文档 1 引言 1.1编写目的 说明编写这份详细设计说明书的目的,指出预期的读者。 1.2背景 说明: a.待开发软件系统的名称; b.本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。 1.3...
  • 软件接口设计

    万次阅读 2016-11-26 17:27:47
    软件接口设计 《构建可扩展的Web站点》主要介绍了Web应用程序的概念、体系结构、硬件需求、开发环境的原则及国际化、本地化和Unicode等基本内容,本文是软件接口设计。 AD:51CTO 网+ 第十二期沙龙:大话数据之...
  • 接口定义与使用

    千次阅读 2019-04-06 19:18:10
    接口定义接口时抽象方法与全局常量的集合。子类实现接口时,用关键字implements实现。 定义一个接口: interface Person{ public static final String name = "葵葵";//全局常量 public abstract void ...
  • IDL接口定义语言教程

    千次阅读 2013-07-02 11:36:57
    IDL接口定义语言   也叫“接口描述语言”(Interface Description Language),是一个描述软件组件接口的语言规范。 IDL用中立语言的方式进行描述,能使软件组件(不同语言编写的)间相互通信。 IDL通常用于RPC...
  • IDL接口定义语言

    千次阅读 2008-07-17 16:29:00
    IDL接口定义语言也叫“接口描述语言”(Interface Description Language),是一个描述软件组件接口的语言规范。IDL用中立语言的方式进行描述,能使软件组件(不同语言编写的)间相互通信。IDL通常用于RPC(Remote ...
  • RS-422接口定义

    万次阅读 2017-08-15 10:59:59
    RS-422接口定义 什么是RS-422 接口?  RS-422 的电气性能与RS-485完全一样。主要的区别在于:  RS-422 有4 根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422 的收与发  是分开的所以可以...
  • 软件定义汽车——软件与架构

    千次阅读 2021-01-07 09:07:32
    软件定义汽车 前言 2020年,国内汽车电子圈刮起一股...到底是软件定义架构还是架构定义软件? 带着这些疑问,《搞一下汽车电子》最近对 "软件定义汽车" 进行了深入的研究,鉴于此,跟大家分享《搞一下软件为汽...
  • 软件工程,软件开发接口管理及接口管理文档模版
  • 它可以把IDE口转换成USB接口,这样就可以用电脑上的USB口插普通硬盘用了。“易驱线”是需要独立电源的,可是几乎所有“易驱线”的原配电源几乎都有个问题:很不稳定。电压不足导致硬盘中途停工是常事儿,伤害硬盘不...
  • 全面剖析C#接口编程之定义接口

    千次阅读 2008-03-01 21:06:00
    从技术上讲,接口是一组包含了函数型方法的数据结构。通过这组数据结构,客户代码可以调用组件对象的功能。 定义接口的一般形式为: [attributes] [modifiers] interface identifier [:base-list] {interface-bod
  • 1.SPI:SPI/采用较少,连线为CS/,SLK,SDI,SDO四根线,连线少但是软件控制比较复杂。一般用于低速黑白小尺寸屏; 2.I2C:I2C一般用于低速黑白小尺寸屏; 3.CPU:在功能机上用的多; 4.RGB:大屏采用较多; 5.LVDS...
  • RS232 422 485定义接口、接线图

    万次阅读 2013-05-16 21:34:51
    RS232接口 RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制...
  • 软件接口API规范

    千次阅读 2018-01-31 10:57:26
    软件接口API规范                                当前版本:V1.
  • WIFI接口定义知识介绍

    千次阅读 2020-03-25 15:27:04
    一般WiFi接口有下面四种 一:PCI Express,简称PCI-E,官方简称PCIe,是计算机总线的一个重要分支,它沿用现有的PCI编程概念及信号标准,并且构建了更加高速的串行通信系统标准。PCIe仅应用于内部互连。由于PCIe是...
  • 计算机软件接口设计说明书模板

    热门讨论 2011-06-16 12:24:57
    1 引言 1 1.1 设计目标 1 1.2 适用范围 1 1.3 相关术语 1 1.4 参考资料 1 2 分析设计 1 2.1 设计思想 1 2.2 接口结构 1 2.3 数据流分析 2 ...7.2 文件格式定义 6 7.3 传输方法 6 7.4 {其他约定} 7 8 标准代码 7
  • 软件接口设计 六大原则

    千次阅读 2016-06-10 17:41:00
    转载自 ... 一.... ...Single Responsibility Principle, 简称SRP。...定义:There should never be more than one reason for a class to change. 应该有且仅有一个原因引起类的变更。
  • java中的接口定义以及实现关系

    千次阅读 2018-03-04 01:50:19
    - 软件接口:程序代码,特殊的类,表示一种规范,是具有N个方法的特征集合。 java中的接口: 专家说的多个抽象类的抽象就是接口。 interface 三、 接口存在的成员: - 接口中没有构造器:推论:接口不能...
  • 软件接口与扩展性

    千次阅读 2016-10-31 00:16:46
    如今,接口这个名词已经成为软件架构师乃至程序员们三句话不离口的词汇了,成为了时尚的代表,不说接口,就感觉自己档次很低一样。同样,接口一词也被人们用滥了,其范围也是越扩越大,边界也越来越模糊。其实,对C...
  • 软件定义安全的一点点理解

    千次阅读 2019-01-15 10:39:17
    文章内容部分来源绿盟的《软件定义下的新型安全架构和实践》、《软件定义安全》以及《软件定义安全:SDN/NFV新型网络的安全揭秘》这本书。 1.SDN/NFV 软件定义网络(SDN),是网络一种新型网络创新架构,是网络...
  • 软件测试之接口测试

    千次阅读 2018-05-20 16:51:23
    现在很多公司都有做接口测试的要求,这时很多之前一直做功能测试的伙伴们就比较措手不及了,怎么办呢?今天小编就来就着接口测试的话题来讲解下接口测试的一些知识。1、接口测试的背景1)什么是接口测试呢?接口测试...
  • 软件定义存储的定义与分类

    千次阅读 2017-02-16 09:20:04
    2011年8月21日,Netscape创始人马克·安德森(Marc Andreessen, 硅谷著名投资人, 投资了Facebook、Groupon、Skype、Twitter、Zynga和LinkedIn等高科技新秀),在华尔街日报上发表《软件正在吞噬整个世界》,认为当今...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 531,937
精华内容 212,774
关键字:

定义软件接口