Joh*_*ika 6 rest coldfusion coldfusion-10
我正在使用ColdFusion 10的新内置REST API,我想返回状态代码201(已创建).我首先尝试了RestSetResponse()方法,如下所述:http://www.adobe.com/devnet/coldfusion/articles/restful-web-services.html.它运行良好,除了它强制您将函数的返回类型设置为"void"."void"的问题在于,每当我抛出异常时,它都不再返回正确的JSON错误消息.
抛出这个例外:
<cfthrow errorcode="400" message="Validation error." />
Run Code Online (Sandbox Code Playgroud)
当returntype为"struct"时,返回格式良好的JSON:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{"Message":"Validation error."}
Run Code Online (Sandbox Code Playgroud)
但是当返回类型为"void"(使用RestSetResponse()时需要),响应是一些丑陋的HTML响应.
因此,我不得不恢复使用returntype"struct",放弃了RestSetResponse(),并尝试了这个:
<cfheader statusCode="201" statusText="Created" />
Run Code Online (Sandbox Code Playgroud)
但它不起作用.看起来ColdFusion会覆盖statusCode,并且在成功时总是返回200(OK).任何人都知道如何将状态代码更改为201而不将函数的返回类型设置为"void"?
| 归档时间: |
|
| 查看次数: |
1750 次 |
| 最近记录: |