您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

兼容完美的老项目!数据通路4.1.6返回对结构的完全控制 《网站源码》

  • 时间:2022-08-19 00:43 编辑: 来源: 阅读:306
  • 扫一扫,手机访问
摘要:兼容完美的老项目!数据通路4.1.6返回对结构的完全控制 《网站源码》
Dataway细节Dataway是一个基于DataQL服务聚合能力的应用程序接口配置工具。 以便用户可以配置满足需求的接口,而无需开发任何代码。 整个界面配置、测试、抽测、发布。 通过Dataway提供的UI一站式完成。 UI将以Jar包的形式提供并集成到应用程序中,并与应用程序共享同一个http端口,因此应用程序不需要单独为Dataway开发新的管理端口。 这种嵌入式集成模式的好处是可以让大部分老项目直接应用Dataway而不被入侵。 从而提高旧项目的迭代效率,大大降低企业项目的R&D成本。 Dataway提供了作为工具的DataQL配置功能。 R&D模式的这种变化使得相当多的需求开发场景只要配置好就可以交付。 从而避免了从数据访问到前台接口的一系列开发任务,比如Mapper、BO、VO、DO、DAO、Service、Controller,这些都是不必要的。 在“Dataway让Spring Boot不再需要控制器、服务、DAO、映射器”这篇文章中,我们详细介绍了如何使用它。 配置接口以避免开发工作的数据方式 本文详细介绍了刚刚发布的新版本Dataway。 4 . 1 . 6 2020年5月10日正式发布,整体Dataway迭代速度还是很快的。 如果你是老的Dataway项目,比如4.1.3和4.1.4。 那么,你需要先看这篇文章来更新版本:在4.1.5之前,Dataway的所有接口调用都会有一个API标准的返回值结构,比如少数老项目或者当前迭代的项目都有自己的返回值格式定义。 这样一来,Dataway在项目的集成上就比较麻烦了。 为此,少数问题正在咨询如何处理这一问题。 比如“如何摆脱返回结果的默认结构——zycgit/hasor/issues/40”,4.1.6之后,你完全可以通过以下两种方式自行设置返回的结构。 默认情况下,模板的内容如上所示。 {"success":"@resultStatus ",//执行状态:失败或成功" message":"@resultMessage ",// message" code":"@resultCode ",//执行推出代码" lifecycle time": "@ timelifecycle ",//整个执行需要时间,单位为" execution time ":" @ time execution " ,//实际执行DataQL的消耗时间,单位为" value":"@resultData"//执行结果。 }其中lifeCycleTime-executionTime可以粗略计算 参数解析和DataQL查询编译的时间消耗 设置自己的结构:模板模式如果我们要改变默认返回的结构,比如如下:{"success":true," message ":"操作成功!",“码数”:200,“结果”:...}此时结构可配置如下:{"success":"@resultStatus ",//执行状态:失败或成功" message":"@resultMessage ",// message" code":"@resultCode ",// }执行之后,你会发现我们需要的结果出现了。 设置自己的结构:code方法有时候模板中想要输出的内容中并没有提供模板的内置变量,比如我想输出当前时间戳。 这时候我们就可以使用代码的形式,通过它我们可以自己设置返回结构。 首先,我们关闭数据通道上的API结构。 此时,所有返回的执行结果都没有外部结构。 然后由ResultProcessChainSpi自己封装我们需要的结构。 API binder . bindspilistener(resultprocesschainspi . class,newResultProcessChainSpi(){ publicObjectcallAfter(booleanformPre,ApiInfo apiInfo,Object result){ if(form pre){ return result;//如果前面的拦网解决了 那么后挡就不解决了。 } returnnewHashMap(){ { put(" method ",API info . get method());put("path ",API info . geta pipath());put(“结果”,结果);}};} publicObjectcallError(booleanformPre,ApiInfo apiInfo,Throwable e){ returnnewHashMap(){ { put(" method ",API info . get method());put("path ",API info . geta pipath());put("errorMessage ",e . getmessage());}};}});再一次,我们可以看到我们需要的结果。 提示:如何批量关闭结构?首先,Dataway页面不提供批量设置结构的能力。 但是,不提供页面并不代表其他地方做不到。 这里有个办法:apibinder。BindSpiListener(resultprocesschainspi . class,NewResultProcessChainspi(){ PublicObjectCallAfter(BooleanForm Pre,API Info API Info,Objectresult) {if(....){ Map option Map = API info . getoptionmap();optionMap.put("resultStructure ",false);//手动设置关闭的API info . set option map(option map);returnResult.ok(结果);}//....}});提供这个方法的问题在这里:zycgit/hasor/issues/40。最后放一些有用的链接:-Dataway官方手册:OSC上https://www.hasor.net/web/dataway/about.html- Dataway的项目地址,欢迎:https://www.oschina.net/p/dataway- DataQL手册地址:https://www.hasor.net/web/dataql/what_is_dataql.html- Hasor项目主页:https://www.hasor.net/web/index.html


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部