jetbrick-template模板语言解析数据

Posted zjfjava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jetbrick-template模板语言解析数据相关的知识,希望对你有一定的参考价值。

项目中,组装接口的请求报文和解析返回报文时,用到了模板语言jetbrick-template。

1. 请求报文拼装

如:需要拼装的请求报文格式如下:

技术分享图片

那么在后台组装好对象后,可以通过模板取值从而拼接固定格式的报文

技术分享图片

2. 响应报文解析

如:发送请求报文成功后,部分返回报文如下,需要对<response>节点下的数据进行解析

技术分享图片

主要节点属性

技术分享图片

这时需要配置解析模板

技术分享图片

 需要注意的是:返回报文<response>节点下主要节点属性共有6个,采用上面的解析模板,只有返回全部6个节点的信息时(即返回报文中<response> <record> </record></response>节点中包含了全部6个标签),模板才能全部解析,而在实际情况下,返回报文中只包含查询有值的节点,对于查询无值的节点,如返回示例报文中,只查询到5个节点的值,并未包含<RYPOSPER>节点,这样会导致模板解析报文时获取不到值,解析报错。

这样的返回报文是接口提供方的不严谨导致,即使查询不到值,也应该返回一个空节点(如:<RYPOSPER></RYPOSPER>)来的,在反馈的同时,我也在思考是否有种方法可以解决空节点的问题,答案是将这6个节点的上级节点封装为一个map,通过遍历来解析其包含的所有的值,这样即使返回值只有一个节点,也能顺利解析,同时有效控制了“,”的拼接。

技术分享图片

以上是关于jetbrick-template模板语言解析数据的主要内容,如果未能解决你的问题,请参考以下文章

Django中模板总结[模板语言,模板继承,CSRF攻击,反向解析]

无法解析模板语言表达式'encodeURIComponent([parameters('table_storage_name')])'

前端数据模版引擎的总结

PHP--关于模板的原理和解析(php模板原理)

织梦模板开发 - 标签类型

Spring 系列篇之表达式语言(SpEL)