513 lines
9.3 KiB
Plaintext
513 lines
9.3 KiB
Plaintext
DMS增加核心存储服务API
|
||
DMS增加核心存储服务API
|
||
张阔项建寇永忠
|
||
4月24日创建
|
||
概述
|
||
接口风格
|
||
、概述
|
||
接口规范
|
||
四、接口鉴权
|
||
DMS接口现状:缺乏统一的数据服务接口。DMS数据服务各式各样,数据存储分散在各服务自己数据库,接口标准
|
||
接口列表
|
||
也不统一。如:测井DMS、地震DMS数据接口形式各不相同
|
||
OSDU服务:OSDU提供“存储Storage"数据存储服务,为各领域的数据存储与查询提供统一的服务标准
|
||
.添加接口
|
||
2.更新接口
|
||
OSDU数据平台
|
||
3.删除接口
|
||
单主键
|
||
地震数
|
||
多主键
|
||
4.列表查询
|
||
5.数据验证
|
||
六数据分区
|
||
七、业务状态码返回列表
|
||
目的:各DMS需要提供对标OSDU“存储Storage”的统一数据服务。在DMS服务原有功能不变,增加为业务方提供的
|
||
统一数据服务
|
||
oreDB地震数
|
||
eismicDB
|
||
②
|
||
二、接口风格
|
||
1. 统一协议:所有接口统一采用 HTTP/HTTPS 协议,确保数据传输的安全性和通用性。
|
||
2.RESTful 风格:遵循 RESTul设计原则,以资源为核心,使用标准的 HTTP 方法(GET、POST、PUT、DELETE
|
||
等)对资源进行操作。例如,GET用于获取资源,POST 用于创建资源,PUT用于更新资源,DELETE 用于删除
|
||
资源。
|
||
3.命名规范:接口路径采用小写字母和斜杠(1)组合的方式,单词之间用下划线()分隔,避免使用大写字母和
|
||
特殊字符,保证接口路径简洁、易读。目RESTfu接口设计要求
|
||
三、接口规范
|
||
1.接口版本控制:在接口路径中明确标识版本号,如/v1/cd_well、V2/cd_well,方便接口的升级和维护,确保不同
|
||
版本的接口能够共存且互不影响。
|
||
2.请求参数规范
|
||
。参数类型:明确指定每个参数的数据类型,如字符串(string)、整数(int)、布尔值(bool)等,并对参数的
|
||
取值范围进行说明。
|
||
。必填与可选:清晰标注每个参数是否为必填项,必填参数是接口正常运行所必须提供的,可选参数可根据实际
|
||
需求进行传递。
|
||
参数位置:根据接口的请求方式,确定参数的传递位置。GET请求的参数通常放在 URL 的查询字符串中;
|
||
POST、PUT等请求的参数放在请求体(Body)中,采用 JSON格式。
|
||
3.响应规范
|
||
。响应状态码:返回接口定义的状态码。
|
||
响应数据格式:所有接口的响应数据统一采用 JSON 格式,包含业务状态码(code)、响应信息(message)
|
||
和数据(data)三个基本属性。其中,data 属性根据接口功能返回具体的业务数据,若接口无数据返回,
|
||
data属性可为空对象(0)。
|
||
四、接口鉴权
|
||
1.认证方式
|
||
Token认证:采用JWT作为主要的认证方式。客户端请求接口时,需在请求头的Authoriztion属性中携带有
|
||
五、接口列表
|
||
1.添加接口
|
||
接口地址:M1/(schemaName}
|
||
请求方法:POST
|
||
接口描述:数据批量添加,数据解析后,批量插入交换模型对应的数据库表中,
|
||
遵循同时成功、同时失败的事务
|
||
原则
|
||
请求参数
|
||
·路径参数
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
描述
|
||
schemaName
|
||
String
|
||
交换模型名称
|
||
·请求头
|
||
Authorization
|
||
Token
|
||
鉴权Token
|
||
Content-Typeapplicatio/json
|
||
是
|
||
请求体数据类型
|
||
·请求体
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
描述
|
||
buns
|
||
1.0.0
|
||
version
|
||
交换模型版本
|
||
act
|
||
Integer
|
||
业务约
|
||
数据删除。
|
||
Integer
|
||
创建新版本,-1覆盖与当前数据业务主键相同的
|
||
数据,原数据主键不变,0修改数据1、2..创
|
||
建新版本的版本层级
|
||
data
|
||
Array
|
||
数据体,key参照交换模型属性名称,最大15000
|
||
条数据
|
||
·入参样例
|
||
act": 0,
|
||
nKey":["zc
|
||
/版本控制字段
|
||
"wellboreId":"wellbore
|
||
//一级版本字段
|
||
库里数据为SchemeId
|
||
'zoneId":
|
||
oneId1",//层位ID
|
||
//数据主键
|
||
'previous
|
||
"depth":3299//深度值
|
||
/分组字具
|
||
级版本字具
|
||
"zoneId":"zoneId2",//层位ID
|
||
version":"0001_001",//版本号,每级版本号4位,格式0001_0001(二级级版本)
|
||
是θ否
|
||
depth":4000//深度值
|
||
响应数据格式
|
||
de": 0,
|
||
data": true
|
||
de":-5
|
||
"验证不通过",
|
||
"data";[
|
||
14
|
||
name":"必填字段不能为空"
|
||
m7t"
|
||
反约束",
|
||
"message":"有2条数据重复",
|
||
data":[
|
||
wellId":"xxxx
|
||
ge":"有1条数据重复",
|
||
"data": [
|
||
33
|
||
wellId"
|
||
message":"有2条数据重复",
|
||
data": [
|
||
"wellId":" x>
|
||
dataRegion":"xxxxx
|
||
?
|
||
正未通过"
|
||
data":[
|
||
966
|
||
"wellId":"xxxxxxx
|
||
62
|
||
name":"提交的数据包含多
|
||
ype":"ver
|
||
rsionTable!
|
||
message":
|
||
“有2个一级版本",
|
||
data":[]
|
||
响应码
|
||
返回码
|
||
描述
|
||
操作处理成功
|
||
操作处理失败
|
||
验证不通过
|
||
2.更新接口
|
||
接口地址:M1/(schemaName}
|
||
请求方法:PUT
|
||
接口描述:
|
||
通用数据批量更新,数据解析后,批量更新交换模型对应的数据库表中,遵循同时成功、同时失败的
|
||
事务原则。
|
||
请求参数
|
||
·路径参数
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
描述
|
||
?
|
||
String
|
||
交换模型名称
|
||
·请求头
|
||
参数名称
|
||
参数值
|
||
是否必须
|
||
备注
|
||
Token
|
||
鉴权Toker
|
||
Content-Type
|
||
application/jison
|
||
请求体数据类型
|
||
女长赠!·
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
描述
|
||
version
|
||
String
|
||
1.0.0
|
||
交换模型版本
|
||
Integer
|
||
act
|
||
;0忽略;1覆盖,原
|
||
数据主键不变;2采用新数据,旧数据删除
|
||
Integer
|
||
创建新版本,-1覆盖与当前
|
||
原数据主
|
||
键不变,0修改数据1、2. 创建新版本的版本层级
|
||
List<String>
|
||
版本控制字段,优先以versionKey根据版本
|
||
树定位创建新版本层级
|
||
data
|
||
Array
|
||
·入参样例
|
||
act":
|
||
'bsflag":
|
||
"wellCol
|
||
测试1
|
||
"wellId":"测试1",
|
||
"dataRegion":"测试1
|
||
"bsflag": 1,
|
||
响应数据格式
|
||
'code": 0,
|
||
操作处理成功"
|
||
"data": true
|
||
sage":
|
||
"验证不通过",
|
||
"data":[
|
||
11
|
||
ne":"必填字段不能为空
|
||
message":"wellId、dataRe
|
||
gion不能为空"
|
||
违反约束",
|
||
data":[
|
||
33
|
||
"namel:"提交数据与数据库对比有违反约
|
||
message":"有1条数据重复",
|
||
373
|
||
data":[
|
||
38
|
||
"message:""有2条数据重复",
|
||
data":[
|
||
wellId":"xxx
|
||
wellId":
|
||
63
|
||
45
|
||
提交的数据包含多个
|
||
message":"有2个一级版本",
|
||
响应码
|
||
返回码
|
||
描述
|
||
操作处理成功
|
||
操作处理失败
|
||
验证不通过
|
||
3.删除接口
|
||
单主键
|
||
接口地址:M1/(schemaName}
|
||
请求方法:
|
||
DELETE
|
||
通用数据批量删除,批量删除对应的业务数据,数据进行逻辑删除
|
||
接口描述:
|
||
请求参数
|
||
·路径参数
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
描述
|
||
String
|
||
交换模型名称
|
||
·请求头
|
||
参数名称
|
||
参数值
|
||
是否必须
|
||
备注
|
||
Authorization
|
||
Token
|
||
鉴权Token
|
||
是
|
||
Content-Type
|
||
aplication/json
|
||
请求体数据类型
|
||
·请求体
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
描述
|
||
version
|
||
String
|
||
是
|
||
1.0.0
|
||
交换模型版本
|
||
data
|
||
List<String>
|
||
是
|
||
主键id数据集,最大15000条数据
|
||
·入参样例
|
||
1am//2am-swp/
|
||
version":"1.0.0"
|
||
响应数据格式
|
||
de":0,
|
||
"data": true
|
||
5]
|
||
响应码
|
||
返回码
|
||
描述
|
||
操作处理成功
|
||
0
|
||
操作处理失败
|
||
多主键
|
||
接口地址:/v1/<schemaName}
|
||
请求方法:DELETE
|
||
接口描述:数据批量删除/逻辑删除/适用多主键
|
||
请求参数
|
||
·路径参数
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
String
|
||
交换模型名称
|
||
·请求头
|
||
参数名称
|
||
参数值
|
||
是否必须
|
||
Authorization
|
||
Token
|
||
Content-Type
|
||
application/jison
|
||
是
|
||
·请求体
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
描述
|
||
version
|
||
String
|
||
1.0.0
|
||
交换模型版本
|
||
data
|
||
List<Mal
|
||
主键id数据集,最大15000条数据
|
||
·入参样例
|
||
1am/T/11am-swp/ de/
|
||
ersion": "1.0.0"
|
||
响应数据格式
|
||
响应码
|
||
返回码
|
||
描述
|
||
操作处理成功
|
||
操作处理失败
|
||
4.列表查询
|
||
接口地址: /M1/[schemaName)/{version}
|
||
请求方法:POST
|
||
接口描述:列表数据查询,通过通用SDK,提供数据列表查询功能
|
||
请求参数
|
||
·路径参数
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
描述
|
||
string
|
||
交换模型名称
|
||
version
|
||
String
|
||
1.0.0
|
||
交换模型版本
|
||
·请求头
|
||
参数名称
|
||
参数值
|
||
是否必须
|
||
备注
|
||
Authorization
|
||
Content-Type
|
||
application/ison
|
||
·查询参数
|
||
名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
苗
|
||
pageNo
|
||
Integer
|
||
1
|
||
页码(从1开始)
|
||
pagesize
|
||
Integer
|
||
否
|
||
分页大小(最大值200)
|
||
String
|
||
量纲转换编码
|
||
·请求体
|
||
可参照文档目统一
|
||
查询SDK设计
|
||
参数名称
|
||
类型
|
||
是否必须
|
||
默认值
|
||
描述
|
||
isSearchCount
|
||
boolean
|
||
false
|
||
是否统计总条
|
||
数,example(true)
|
||
query
|
||
object
|
||
查询条件
|
||
array
|
||
False
|
||
fiter
|
||
筛选条件
|
||
logic
|
||
string
|
||
alse
|
||
可选值为:
|
||
string
|
||
条件项
|
||
symbol
|
||
string
|
||
运算符,可选值为:>、
|
||
>=、<、<=、>、<、=
|
||
IS时,条件值只能为
|
||
NULL或NOT NULL
|
||
-realValue
|
||
array
|
||
false
|
||
条件值
|
||
ubFilter
|
||
aray
|
||
False
|
||
子条件
|
||
objet
|
||
alse
|
||
object
|
||
排序属性,key=属性名
|
||
-groupFields
|
||
array
|
||
分组属性group by
|
||
groupFilte
|
||
object
|
||
alse
|
||
筛选器
|
||
string
|
||
string
|
||
条件项
|
||
string
|
||
可选值为:
|
||
<>、I=、IN、NOTIN、
|
||
LIKE、IS;当运算符为
|
||
NULL或NOT NULL
|
||
realValue
|
||
array
|
||
false
|
||
条件值
|
||
ubFilter
|
||
array
|
||
False
|
||
子条件
|
||
,入参样例
|
||
isSearchcount": true,
|
||
elds":[
|
||
'real
|
||
key": "well
|
||
兴华1"
|
||
"subFilter": [
|
||
"subFilter": [
|
||
dsid": "ASC
|
||
响应数据格式
|
||
"code":"o,
|
||
"操作处理成功"
|
||
data:
|
||
:136
|
||
"dsid": "1007024
|
||
001283",
|
||
'wellbo
|
||
"qqqq",
|
||
'runNo": "15"
|
||
下防冲蚀管*
|
||
'steelGd
|
||
'wallThk": 0,
|
||
'upBuckleType"
|
||
BuckleType"
|
||
'tubularQuantity": 1
|
||
: 69.54
|
||
27
|
||
eSize": null,
|
||
28 29
|
||
nstren
|
||
null,
|
||
'tubularM
|
||
"jobtype""
|
||
"createDate": "2022-04
|
||
"updateDate": null,
|
||
"updateUserId": null,
|
||
'checkDate": null
|
||
: null,
|
||
565 75758966627456
|
||
"celLName":"油管挂",
|
||
'steelGd": null,
|
||
'wallThk": 0,
|
||
"upBuckleType": "4_1/2"FOx"
|
||
owerBuckleType": "4_1/2"FOx"
|
||
ippingInDepth
|
||
10.83,
|
||
89
|
||
"holesize": null,
|
||
'joinStrength": null
|
||
188
|
||
updateDate": null,
|
||
288 4568
|
||
checkDat
|
||
'bsflag": 1
|
||
sourceCr
|
||
version"
|
||
88
|
||
响应码
|