如何将参数传递给服务调用?
How to pass parameter to service call?
在 PopCommerce 的 Detail.xml 中,有一个参数 productId 被传递到屏幕。如何将该参数传递给服务调用?
我在服务调用中尝试了以下代码,但这不起作用
<field-map field-name="productId" from="productId"/>
屏幕中的参数为
<parameter name="productId" required="true"/>
我定义的服务是
<transition name="createProductReview">
<service-call name="create#ProductReview" web-send-json-response="true">
<field-map field-name="productStoreId" value="POPC_DEFAULT"/>
<field-map field-name="productId" from="how do I use the productId parameter here ?"/>
<field-map field-name="userId" from="ec.user.userAccount.userId"/>
<field-map field-name="statusId" value="PrvwPending"/>
</service-call>
<default-response type="none"/>
</transition>
你提到的那一行是正确的方法,所有参数都放在上下文中,可以从那里用作字段。具体来说,这一行:
<field-map field-name="productId" from="productId"/>
请注意,对于这些,您也可以使用带有 Groovy 映射语法 ([:]) 的 in-map,这样会更简洁一些。
如果这不起作用,则问题很可能是 productId 未传递到调用转换的请求。
在 PopCommerce 的 Detail.xml 中,有一个参数 productId 被传递到屏幕。如何将该参数传递给服务调用?
我在服务调用中尝试了以下代码,但这不起作用
<field-map field-name="productId" from="productId"/>
屏幕中的参数为
<parameter name="productId" required="true"/>
我定义的服务是
<transition name="createProductReview">
<service-call name="create#ProductReview" web-send-json-response="true">
<field-map field-name="productStoreId" value="POPC_DEFAULT"/>
<field-map field-name="productId" from="how do I use the productId parameter here ?"/>
<field-map field-name="userId" from="ec.user.userAccount.userId"/>
<field-map field-name="statusId" value="PrvwPending"/>
</service-call>
<default-response type="none"/>
</transition>
你提到的那一行是正确的方法,所有参数都放在上下文中,可以从那里用作字段。具体来说,这一行:
<field-map field-name="productId" from="productId"/>
请注意,对于这些,您也可以使用带有 Groovy 映射语法 ([:]) 的 in-map,这样会更简洁一些。
如果这不起作用,则问题很可能是 productId 未传递到调用转换的请求。