我使用的ColdFusion 10的新的内置REST API,我想返回的201(创建)一个状态码。 我第一次尝试是在这里描述的RestSetResponse()方法: http://www.adobe.com/devnet/coldfusion/articles/restful-web-services.html 。 它运作良好,但它迫使你函数的返回类型设置为“无效”。 与“空”的问题是,每当我抛出一个异常,它不再返回正确的JSON错误消息。
抛出此异常:
<cfthrow errorcode="400" message="Validation error." />
返回时,返回类型是“结构”格式良好的JSON:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{"Message":"Validation error."}
但是当返回类型为“无效”(这是需要使用RestSetResponse(),该响应是有些难看HTML响应。
正因为如此,我不得不恢复使用的返回类型“结构”,放弃了RestSetResponse(),并尝试这样的:
<cfheader statusCode="201" statusText="Created" />
但是,这是行不通的。 看来,ColdFusion的覆盖的StatusCode,总是返回200(OK)时,它的成功。 任何人都知道的一种方式来改变状态码201没有设置功能为“无效”的返回类型?