数据接口设计方案(数据接口怎么写)

网友投稿 790 2023-03-14


本篇文章给大家谈谈数据接口设计方案,以及数据接口怎么写对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享数据接口设计方案的知识,其中也会对数据接口怎么写进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

数据接口

系统在运行中将用到大量数据接口设计方案的数据资料,必须在设计初始就明确各类数据标准以及各子系统数据接口设计方案的数据接口。根据各子系统设计的数据项需求及产生的成果数据项,确定各项数据的数据表,定义表结构,进行代码设计,然后由数据库系统实施,同时形成文档,作为系统的数据标准,统一执行。

数据的分类、编码设计、数据库的设计、地图制图、数据录入和质量检验,均遵循国家和行业主管部门的标准、规范、规程;如没有统一的规范规程,则参照相关的规程进行规范化设计。系统有关的数据定义全部形成文档,作为技术规范,统一使用。

各子系统在设计时应当明确与相关子系统的数据关系,提出相关子系统必须提交的数据表要求和系统运行过程中的提交时间,对应子系统按照该提交数据要求在系统中进行相应设计和开发,保证数据流动的通畅,这是基于数据的系统集成方案的关键,是数据平台接口设计的重要依据。系统间数据关系须形成文档,作为系统间数据接口标准规范,统一执行。

数据关系与数据标准相辅相成,共同定义数据接口设计方案了数据平台与各个子系统之间的输入、输出接口。在数据接口设计中应重点考虑以下几个方面:

(1)遥感数据与图形数据的接口:利用图形配准技术,予以解决。遥感数据是动态监测专题图件产生的基础,必须经过坐标配准,才能产生专题图件。配准过程由遥感动态监测子系统执行,需要应用综合数据库中的地形图数据。在配准后遥感数据与图形数据的套合依据空间坐标进行。

(2)空间数据与属性数据的接口:利用关键字建立联系。在数据建库过程中依据数据标准有关文档规定建立图形库和属性库结构,确定关键字段,同时定义关键字段编码方案,保证关键字段唯一性。在数据采集过程中对关键字段赋予代码。系统维护过程中的数据采集也必须依据编码方案对关键字段赋值。在应用系统中使用时只需建立图形库与属性库间的关联即可。

( 3) 子系统之间数据的接口: 各子系统之间数据的交换通过数据库进行,所以子系统间数据接口本质上是子系统与后台数据库的接口; 在建立数据库时,已经由数据库管理系统依据系统间数据关系建立了接口。

系统内数据关系包括:

数据管理与数据库子系统接受业务处理与信息服务子系统录入的有关基础信息、遥感动态监测子系统输入的遥感数据及各子系统产生的成果数据,为各子系统提供综合基础数据、专题数据和成果数据。

遥感动态监测子系统需要数据库系统管理的遥感数据、地形图数据和历史专题数据。

生态专业分析子系统需要遥感动态监测子系统产生的专题图件和综合数据库中的历史专题图件以及属性资料。

业务处理与信息服务子系统需要数据库子系统管理的综合基础数据和各专业应用子系统产生的成果数据。

怎么写 App 接口设计方案

编写接口设计方案头部必定是目录,要是在目录和正文中间插入本方案总设计师姓名和他的手机邮件等联系方式方便双方项目上对接自是极好的
一阐述面向的用户群和平台有哪些;
二要达到怎样的设计目标,如并发量,延迟等;
三设计的系统接口可能会有哪些问题和风险,基于以上,在进行设计过程中将会采用那些技术手段;
四是阐述一些接口命名规范,字段和数据长度限制规范,最大连接时间等;
在后面概述接口按业务或非业务分为哪几大块,订单一块,账户管理一块,日志一块,文件/图片一块;
接下来详述每块分别有哪些接口,具体如何定义的等等;
最后在阐述下整个系统与哪些第三方会有交集,这些接口提供方的公司名字?与这些公司的技术联系人是谁,联系方式是什么,与他们的数据通信方式是什么,他们的访问地址在何处,经过一系列测试后发现的延迟情况,安全问题等等,我方是如何解决的,在本次设计的接口中有哪些用到了这个第三方接口;

如何设计 HTTP 接口异常状态的返回

如何设计 HTTP 接口异常状态的返回
上周五,我在做一个 HTTP 接口的迁移。刚好跟同事进行了一场关于 HTTP 接口的状态返回的讨论。很巧合地是,我们的观点互不相同,在他看来:
到达业务层的请求,响应的状态码应该都是 200, 错误消息放在 Body 里描述;未到达业务层的请求,例如:5XX, 403 这样的错误应该算作是 “连接层” 的错误。
这样做的优点是:
对于 5XX, 403 这样的错误可以归纳为 “连接” 错误。可以统一处理?
客户端只需在接受到 200 的状态码时才做业务处理。
但是在我看来,这有一个很大的缺点:
对于业务异常无法在第一层的 status code 里面发现,需要进一步解析 body, 响应的 body 有 2 个 Schema, 即 error message 和业务响应实体的 schema。这样做的厂商其实很多,例如: LeanColud 的获取数据的接口。
GET /1.1/classesclassNameobjectId
在使用这个接口获取一个不存在的 objectId 时,响应的格式是:
Response Status Code: 200
Response Body: {}
这个接口把 className 与 objectId 都做成了 path parameter, 通常地,我们不应该用 404 来描述一个 URL 不存在的情况吗?
如果我要使用这个接口,我在客户端接收到响应之后大概要做以下的处理:
判断 http status code 是否是 200。
解析 http body 是否是一个 error message。
解析 http body 为业务实体。
判断解析后的业务实体是否是"空"。
所以,我的观点是: 充分利用 http status code 来描述响应的异常情况, 并且配合 http body 来描述更详细的 error message 。
我同事他认为这样做的缺点是:
http status code 是非常有限的,且不能扩展。
那么我们该怎么处理这种 http status code 表达能力不足的情况呢? 答案是: 使用 http status code 来代表某一个类型的异常,同时用 http response body 来描述更详细的异常消息。 例如:
Response Status Code: 400
Response Body:
{
"code": "missing_parameter_name",
"message": "请求中必须包含参数 name"
}
Response Status Code: 400
Response Body:
{
"code": "id_not_matched",
"message": "id 格式应该为: \w+"
}
上面的例子中我们使用了 400 来描述了一个 Bad Request , 并且将更加详细的业务异常表达出来了! 来看看我如何改造 LeanCloud 的接口返回:
Response Status Code: 200
Response Body:
{
"objectId": "xxx",
"name": "这是一个业务实体"
}
Response Status Code: 404
Response Body:
{
"error": "resource_not_found",
"message": "无法在 className 下找打 objectId 资源"
}
总结一下我这种设计方式的优点:
可以根据 http status code 判断响应是否正常。
无需将一个 response body 适配多个 schema 解析。
客户端友好,无需过多包装 response body,在正常返回的情况下数据可以直接使用,无需拆箱。
总结
接口设计可以千变万化,可以说没有哪一种方案是完美的,我们在设计的接口的时候也要尽可能地站在使用者的角度考虑下面的原则:
客户端友好,响应的层次尽可能简洁。
数据不要过渡封装,最好能做到即拿即用。
接口名称简洁明了。

RESTful API 设计约定

本文编写目的是为了尽可能的约定好一个公司的产品、组件、项目开发的RESTful API 设计风格,使不同团队间设计的API风格尽量一致,减少项目后期由于规范问题或设计不足导致的接口重构造成的开发、测试返工。最终让接口的最终使用者能够在开发过程中有个良好的体验。

此约定可作为开发人员设计RESTful 接口或项目接口发布评审的参考。

个人观点:用了 JSON-RPC 不等于 是RESTful API ,RESTful API通常是基于HTTP/JSON方式实现的 ,两种方式的API设计方式都不错,项目中选适合的就好。简单对比如下:

本文仅是作者个人根据主观喜好和接口设计经验搜罗总结而来的RESTful API设计约定,仅作为接口设计的基本要求,也欢迎与大家讨论。此约定未涉及超文本HATEOAS相关内容,也不包含RPC类面向后端服务方法映射接口的范畴。

API 是后端应用程序的脸面(UI),用户体验非常重要。尤其是当你开发的是一个可复用的组件或产品,如果API设计有些许瑕疵,会直接影响开发者的体验,设计者会被骂的…… 有问题的API一旦开放出去了,哪怕是简单的拼写错误,由于要保持兼容性不能删改,会成为技术欠债长期背下去。

以上关键点不只适用于RESTful API,其他类型API也是一样的。

作为对外公开发布的RESTful API,根URL中一般要有域名与版本信息。通常一个WEB站点会同时提供网站服务和API服务,我们需要根据URL能够区分出访问的是服务接口还是网站中的网页、文件等资源。因此RESTful API的根URL中根据不同场景一般会在一级域名中或者是子域名中带api关键字。

常见的两种根URL用法如下:

推荐的方案是根URL中采用子域名的方式区分API,即: https://iam.primeton.com/api/v1/*

路径终点即粗体部分内容: https:// example.org/api/v1/ menus

设计RESTful API时常用的HTTP Method包括:GET、POST、PUT、PATCH、DELETE 简单说明如下:

根据资源标识可以 唯一定位一个资源 时,建议使用URL路径参数方式传递。对应Springboot 的 @PathVariable 。API Path示例如下:

根据资源属性查询过滤 一或多个资源 时,建议使用URL查询参数方式传递。对应Springboot的 @RequestParam 。API Path示例如下:

对于简单查询类接口,可以使用路径参数和查询参数解决,如果是复杂功能型查询接口中需要通过复杂的过滤条件查询时如: < in between 等等,查询参数用起来会非常痛苦,GET Method又不支持提交Request Body参数。因此我建议这种 复杂型查询采用POST Method 提交到一个特定的Path上 。参见如下场景:

查询接口返回多个数据时,需要支持分页(枚举类数据或少量数据除外)和排序。

如需使用分页查询和排序,建议统一请求与响应报文结构,格式如下:

请求参数示例:

GET /users?page=1size=5sort=username

单页数据响应结果示例:

上述分页排序与响应报文格式是来自Spring Data定义的模型,为了保持分页排序接口相关的使用习惯,如果持久化不使用JPA,仍然建议采用上述规范的报文定义封装接口。为使用者提供一致的体验。

如果资源需要做一些增删改之外的操作(如状态变更),可以用 /actions 作为path

例如:流程平台中的流程实例会有状态变化,如启动、挂起、恢复、终止等等,这种接口建议这样设计:

组合资源,即两种资源之间存在组合关系,组合指整体与部分的强包含关系,但整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。对"部分"的操作一定会由整体作为入口,不会直接跳过"整体"来对"部分"做增删改查。这种组合场景中,推荐API设计方式示例如下:

聚合资源,即两种资源之间存在聚合关系。聚合也是整体与部分的弱包含关系,但整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个不同的主体对象,也可以为多个整体对象共享。

例如,机构或角色下包含人员,需要获取机构或角色下的人员的场景,避免做成分别通过机构入口或角色入口找人等重复的具有类似功能的接口:

在RESTful API设计中,正常和异常情况建议通过HTTP约定的status进行区分, 不建议 采用所有接口均POST Method调用,永远返回200这种模式。

推荐的常用Http Status说明如下:

HTTP 1.0 Status 详细说明参考

API调用成功后,返回HTTP 2xx状态码,Response Body直接返回业务数据即可。请求和响应报文建议统一采用JSON格式。

RESTful API 对于异常报文需要规范和统一,服务端出现异常情况下,需要进行全局拦截,然后将异常信息封装为规范的格式,返回给调用端。

对于后端的异常信息,建议包含编码和消息

本文是基于学习各路大神们对RESTful 设计相关文章,结合自己设计接口时遇到困惑后的解决方案,收集与总结而成的RESTful API设计约定。部分内容夹杂个人喜好与主观观点,抛砖引玉,希望能为大家设计API带来些许帮助。后如果遇到一些更复杂的场景,欢迎一起沟通。

vivox20是什么充电接口

vivo X20采用Micro USB数据接口。

vivo X20是vivo智能手机于2017年9月21日在北京·居庸关长城正式发布的全面屏新机,配备6.01寸超大屏幕,采用2x1200万像素双前置摄像头和2x1200万像素+500万像素的后置摄像头的相机方案。

扩展资料:

外观设计

北京时间8月31日上午10点,vivo通过其官方微博对外公布了新品的发布会海报,而发布的主角正是最近一周不断被曝光的vivo X20,而这款手机也是vivo首款搭载全面屏的手机产品。

全面屏设计

vivo X20采用了全新的18:9全面屏设计,屏占比达到了惊人的85.3%。基于这样的设计方案,X20相当于在传统5.5英寸手机中放入了6.01英寸的超大屏幕,使得视觉效果更加饱满。

3D弧面金属设计

vivo X20继承了穹顶式U型天线的设计方案,宽度仅仅只有1.8mm,不会对背面造成割裂感。整体来看,vivo X20背面采用的是3D弧面金属设计,背面由中间向两边逐渐收拢,配合上细腻的喷砂工艺处理,使得手机更加贴合手掌,握持手感更优秀。

y7000p背后7个接口都有什么用

Y7000p插口主要用途是连接上数据线就可以互相传输各种信号数据。

接口的布局上,拯救者Y7000P也显得非常考究且大胆。左右两侧虽然空间足够,但依然只是各排不了一个USB 3.1接口,只是在左侧还多加了一个3.5mm耳机麦克风插孔,这使得机身左右两侧看起来很简洁,同时左右侧各一个接口的设计也很实用。

Y7000P剩下的所有接口都被安排在了机身尾部正中的位置。包括TYPE-C(DP1.2)、Mini DP 1.4、USB 3.1、HDMI 2.0、网线接口、电源接口以及安全锁孔。整体来说这样的接口布局方式即实用又合理,算是非常成功的布局方案。

硬件配置上,联想拯救者Y7000P送测机型搭载了英特尔第八代酷睿i5 8300H标准电压处理器,配备8GB DDR4 2666MHz高频内存。存储方面,128GB SSD+1TB HDD满足用户的使用需求。显卡方面,GTX 1050Ti独立显卡基本能够满足日常的游戏娱乐需求。

在CINEBENCH R15的测试中,i5 8300H的多核性能评分为793cb,单核也达到了169cb,整体性能不错。而在PCMark 10的Extended模式测试中,生产力性能得分为6016分,游戏性能得分为5696分,总体来看是一款综合性能较好的游戏本产品。

关于数据接口设计方案和数据接口怎么写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 数据接口设计方案的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数据接口怎么写、数据接口设计方案的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring框架初始化解析
下一篇:浅析Vue自定义组件的v
相关文章

 发表评论

暂时没有评论,来抢沙发吧~