小编Sun*_*ung的帖子

如何CFDUMP HTTP POST的"正文"

这是我当天的问题.假设我在一个页面上有这个:

start.cfm

<cfset body = { "stuff": [ 1,2,3,4,5 ] }>

<cfhttp url="end.cfm" method="post" result="httpResp" timeout="60">
    <cfhttpparam type="header" name="Content-Type" value="application/json">
    <cfhttpparam type="body" value="#serializeJSON(body)#">
</cfhttp>
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚end.cfm需要输出什么在体内.我试过cfdump从变量到形式到cgi的所有东西,但我无法达到它.我错过了什么?

coldfusion json cfhttp

6
推荐指数
1
解决办法
251
查看次数

CF11 与 CF2018 REST 404 响应

我有一个 REST 服务,它要么输出 JSON,要么返回 404,具体取决于是否匹配。在我现有的 CF11 设置中,我可以生成一个 404

<cfthrow errorcode="404">
Run Code Online (Sandbox Code Playgroud)

但这显然不再适用于 CF2018。为了生成 404,我需要使用 Java(按照此处的指示:如何向 ColdFusion 中的客户端发送 HTTP 状态代码和响应消息?):

<cfscript>
    getPageContext()
    .getResponse()
    .getResponse()
    .sendError( JavaCast( 'int', 404 ), "" );
</cfscript>
Run Code Online (Sandbox Code Playgroud)

这有效,但这让我很好奇,所以我创建了一个小测试页面(不是 REST 服务):

<cfparam name="URL.method" default="cfthrow" >
<cfif URL.method IS "cfthrow">
    <cftry>
        <cfthrow errorcode="404">
        <cfcatch></cfcatch>
    </cftry>
</cfif>
<cfif URL.method IS "cfheader">
    <cfheader statuscode="404">
</cfif>
<cfif URL.method IS "java">
    <cfscript>
        getPageContext()
            .getResponse()
            .getResponse()
            .sendError( JavaCast( 'int', 404 ), "" );
    </cfscript>
</cfif>
Run Code Online (Sandbox Code Playgroud)

我也无法让 cfthrow 在这里工作。但是 cfheader 确实有效,而且正如预期的那样,Java 也有效。谁能解释为什么会有这些差异?仅供参考,我正在运行 Win2012/IIS。谢谢。 …

rest coldfusion

5
推荐指数
0
解决办法
121
查看次数

标签 统计

coldfusion ×2

cfhttp ×1

json ×1

rest ×1