• 接口传递过程中遇到的问题以及解决方法


    在工程中遇到以下情况:

    为了进行相对底层的测试,需要将中间的算法结果传递到上层,在开始实现的时候,使用的方法是,在输出结构体中添加一个成员结构体,然后将需要测试的东西都塞入这个结构体,供上层解析;

    这样实现的缺点如下:

    1、由于信息需要存储到数据库中的某些字段,因此我这边上传给软件层之后,他们还会进行解析存储,这样的话,我每次更新结构体之后,软件层都需要做相应的改动;

    2、由于需要将更多的信息暴露给上层,因此会有很多的结构体定义,有些还会与内部已经定义的结构体重复,如果全部剪过来,那么接口文件会变得很长,如果直接包含相应 的头文件,与软件部同步的接口文件又会增多;

    解决方法:

    由于这个是测试时使用,流程是我这里生成,测试那边解析,然后核对

    因此可以将所有的结构体信息保存在json字符串中,最终我对于软件部上传的就只有一个json字符串 ,对于增删改都会鲁棒;

    另外,也不会涉及到接口过多或过长的问题,我的结构体定义就不必暴露在接口中,可以放在任何一个方便获取其他结构体定义的函数中,对其进行赋值之后,转成json字符串,然后将该字符串塞出去即可;

    测试时这么做是很方便的,麻烦的地方就是json的序列化与反序列化;

    实现之后会附上相应的博客;

  • 相关阅读:
    ueditor
    六月随笔
    ueditor基本配置
    does not support the Select property
    A simple paging control pagesize control just support url querystring
    为什么LoadPostData 执行不了, why the LoadPostData method was not be implement
    How to make a test environment for Mobile site develope
    外部组件异常
    CommunityServer Telligent.Registration.DLL 3.1.20913.0已破 cracked
    Radgrid 与 文件下载
  • 原文地址:https://www.cnblogs.com/rainsoul/p/10397219.html
Copyright © 2020-2023  润新知