使用 ColdFusion 10 的新 REST API 时,如何通过管道进入响应管道,以便在 ColdFusion 10 的 REST API 序列化 JSON 响应后更改它?
例如,假设我有以下端点:
<cfcomponent rest="true" restpath="/widgets" produces="application/json">
<cffunction name="getWidget" access="remote" httpmethod="GET" restpath="{id}" returntype="struct">
<cfargument name="id" required="true" restargsource="path" type="numeric"/>
<cfreturn {
id = arguments.id,
code = "string:.10"
} />
</cffunction>
</cfcomponent>
在此方法返回后(即在 ColdFusion 使用 SerializeJSON 创建 JSON 响应后),我想将“string:”替换为空字符串。我尝试这样做(使用此处描述的技术:http: //house-of-fusion.10909.n7.nabble.com/getPageContext-in-onRequestEnd-is-empty-td78578.html)但我无法改变响应。任何人都知道我可以如何更改响应?
背景:
我正在寻找这样一个黑客的原因是因为 SerializeJSON (CF 10 REST API 使用的默认序列化)会将code = ".10"视为浮点数并呈现"code":0.1,这不是我想要的. 这个问题有据可查,但是在使用本机 REST API 时克服这个问题的解决方案似乎没有在任何地方记录。