工作框架各种使用整理 -- 返回单条数据的时候如果没有对应的数据会返回输入的参数

 1 <service verb="get" noun="TelecomNumber">
 2         <in-parameters><parameter name="contactMechId" required="true"/></in-parameters>
 3         <out-parameters>
 4             <auto-parameters entity-name="mantle.party.contact.TelecomNumber"/>
 5         </out-parameters>
 6         <actions>
 7             <entity-find-one entity-name="mantle.party.contact.ContactMech" value-field="contactMech">
 8                 <field-map field-name="contactMechId" from="contactMechId"/>
 9                 <field-map field-name="contactMechTypeEnumId" value="CmtTelecomNumber"/>
10             </entity-find-one>
11             <if condition="contactMech">
12                 <entity-find-one entity-name="mantle.party.contact.TelecomNumber" value-field="telecomNumber">
13                     <field-map field-name="contactMechId" from="contactMechId"/>
14                 </entity-find-one>
15             </if>
16             <script> if (telecomNumber) ec.context.putAll(telecomNumber) else contactMechId = null </script>
17         </actions>
18     </service>

在查询的过程了为了使返回的数据格式外层不包含Map的一层,我们可以使用ec.context.putAll(telecomNumber)但是这样的话如果输入的参数没有匹配的数据就会出错,当我们做了判断之后报错会消失,但是返回结果并不是我们想要的结果,它会将你自己输入的参数比如本例中的contactMechId返回为了解决此情况我们可以手动将其设置为null,那么这个问题就解决了。

 
原文地址:https://www.cnblogs.com/dream-to-pku/p/5703451.html