洛阳鱼紫怡 2023-12-28 11:02 采纳率: 0%
浏览 2
已结题

数据交互的协议商定规则

协议商定问题

我在做一个功能,访问http接口获取一些绘制图形的数据,数据内容使用json表达,刚开始开发的时候,我发文档告诉对方给我传如下格式的json

{
  "content":{
                 "sid": "20bc9042224d4bd88e464e20b84f6ac6",  //string  视频通道sid
                 "ishow": 0,                                                             //int      是否显示图形
                 "screenwidth": 1,                                                   //int      平台屏幕的宽
                 "screenheight": 1,                                                 //int      平台屏幕的高
                 "shape": [ 
                            {
                               "type":"arrow",               //string   箭头类型
                               "startx":1.00,                  //double  起始点x
                               "starty":1.00,                  //double
                               "endx":1.00,                   //double  结束点x
                               "endy":1.00                    //double
                            },
                            {
                               "type": "circle",               //string   圆类型
                               "centerx":1.00,               //double  圆心x
                               "centery":1.00,
                               "xradius":1,                    //int        x半径
                               "yradius":1
                            },
                            {
                               "type":"rect",                //string    矩形类型 
                               "ltpointx":1.00,             //double  左上角顶点x
                               "ltpointy":1.00,
                               "width":1,                     //int         宽
                               "height":1
                            } 
                        ]
            },
    "count": 0,
    "statusCode": "API-COMMON-INF-OK",
    "statusMessage": ""
}

最后到联调的时候,对面发来的实际数据如下,

{
        "content":{
                "ishow":1,
                "screenheight":691,
                "screenwidth":1286,
                "shape":[
                        {
                                "centerx":0.0,
                                "centery":0.0,
                                "endx":0.0,
                                "endy":0.0,
                                "height":83,
                                "ishow":0,
                                "ltpointx":141.0,
                                "ltpointy":456.0,
                                "screenheight":0,
                                "screenwidth":0,
                                "sid":"",
                                "startx":0.0,
                                "starty":0.0,
                                "type":"rect",
                                "width":192,
                                "xradius":0,
                                "yradius":0
                        },
                        {
                                "centerx":0.0,
                                "centery":0.0,
                                "endx":0.0,
                                "endy":0.0,
                                "height":108,
                                "ishow":0,
                                "ltpointx":642.0,
                                "ltpointy":304.0,
                                "screenheight":0,
                                "screenwidth":0,
                                "sid":"",
                                "startx":0.0,
                                "starty":0.0,
                                "type":"rect",
                                "width":200,
                                "xradius":0,
                                "yradius":0
                        }
                ],
                "sid":"0ef3173e-e248-45cc-bba1-58f0dfcd5953"
        },
        "count":0,
        "statusCode":"API-COMMON-INF-OK",
        "statusMessage":"成功"
}

可以看见,实际发来的变的冗余了,但是数据是可以正常使用,我问他为什么这么发,他说这样比较省事,我就有点无语了,现在项目节点快到了,双方都不会再大改代码了,这件事可能就这样了。虽然这个功能很简单,但我认为以后会因为这个事出问题。

所有我现在有个疑惑,两个部门进行数据交互是不是应该严格按照定好的协议来?还是说,发出的数据可以不严格按照协议来,功能可以跑通就行

我一直都是做功能开发,很少直接参与过协议的设计,希望可以帮忙解惑一下

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 1月5日
    • 创建了问题 12月28日

    悬赏问题

    • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
    • ¥15 安装quartus II18.1时弹出此error,怎么解决?
    • ¥15 keil官网下载psn序列号在哪
    • ¥15 想用adb命令做一个通话软件,播放录音
    • ¥30 Pytorch深度学习服务器跑不通问题解决?
    • ¥15 部分客户订单定位有误的问题
    • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
    • ¥15 Bug traq 数据包 大概什么价
    • ¥15 在anaconda上pytorch和paddle paddle下载报错
    • ¥25 自动填写QQ腾讯文档收集表