Как я могу вернуть положительные ответы, кроме HTTP 200 OK с Luracast Restler? - PullRequest
3 голосов
/ 27 сентября 2011

Я понимаю, что Рестлер автоматически возвращает результат моего метода с кодом состояния HTTP 200 (ОК), и если я хочу вернуть ответ об ошибке, я использую

throw new RestException(400); // returns HTTP 400 Bad Request

Но как мне вернуть ответскажем, HTTP 201 Создан вместе с результирующим значением?

Ответы [ 3 ]

3 голосов
/ 13 октября 2011

Я тоже нажал и возвращаю состояния успеха вручную:

return(array('success' => array('code' => 201, 'msg' => 'resulting value')));

Если вы хотите, чтобы RESTler обработал это для вас:

throw new RestException(201, 'resulting value');

, но это будет возвращено всостояние «ошибка»:

{
    "error": {
        "code": 201,
        "msg": "resulting value"
    }
}
3 голосов
/ 16 июня 2014

Начиная с RESTLER 3, вы можете установить альтернативный положительный код ответа в комментариях к документу над вашим методом API. Например, приведенный ниже комментарий к документу устанавливает маршрут УДАЛИТЬ со статусом возврата 204 (если вы не выбрасываете исключение RESTException)

/**
 * Delete an Attribute
 * @status 204
 * @url DELETE {eventTicketId}/registration/{eventTicketRegistrationId}/attribute/{attributeId}
 */

function deleteTicketRegistrationAttribute($eventTicketId,$eventTicketRegistrationId,$attributeId)
{

}
2 голосов
/ 27 сентября 2011
header("HTTP/1.1 201 Some response");

должно работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...