我理解Restler会自动使用HTTP状态代码200(OK)返回我的方法的结果,如果我想返回错误响应,我会使用
throw new RestException(400); // returns HTTP 400 Bad Request
但是,如何返回响应,例如,HTTP 201 Created以及结果值?
答案 0 :(得分:3)
我也打了这个,我手动返回成功状态:
return(array('success' => array('code' => 201, 'msg' => 'resulting value')));
如果您希望RESTler为您处理它:
throw new RestException(201, 'resulting value');
但是会在“错误”状态下返回:
{
"error": {
"code": 201,
"msg": "resulting value"
}
}
答案 1 :(得分:3)
从RESTLER 3开始,您可以在API方法上方的文档注释中设置备用肯定响应代码。例如,下面的Doc Comment设置DELETE路由,返回状态为204(只要不抛出RESTException)
/**
* Delete an Attribute
* @status 204
* @url DELETE {eventTicketId}/registration/{eventTicketRegistrationId}/attribute/{attributeId}
*/
function deleteTicketRegistrationAttribute($eventTicketId,$eventTicketRegistrationId,$attributeId)
{
}
答案 2 :(得分:2)
header("HTTP/1.1 201 Some response");
应该有效