Проблема кода состояния HTTP службы REST Zend Framework - PullRequest
2 голосов
/ 05 апреля 2010

Я пытаюсь создать REST-сервис в Zend Framework. Я использую Zend-сервер.

Вот мой код:

class ArticleController extends Zend_Rest_Controller
{
  public function postAction()
  {
    //Create the acticle and return it
    $data = array("foo" => 0, "boo" => 11);
    $this->getResponse()->setHttpResponseCode(201);
    $this->_helper->json($data);
  }

Ответ HTTP возвращает соответствующие заголовки и данные JSON, но под данными JSON есть документ об ошибке apache. Единственный способ удалить добавленный документ об ошибках - добавить в файл httpd.conf следующее:

ErrorDocument 201 " "

Но каков "коррентный" способ сделать это?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2010

Ваш оригинальный путь верен. 201 является соответствующим ответом после размещения нового ресурса.

Я думаю, что документ с ошибкой, который вы видите, сгенерированный после вашего собственного контента, не должен быть там. Вы случайно не используете Zend Server Community Edition v5.0 ? Если да, то посмотрите эту ветку, я думаю, что вы столкнулись с той же проблемой, что и другой парень:
Как отключить ошибки кода состояния HTTP по умолчанию в Zend Server?

0 голосов
/ 05 апреля 2010

Почему вы используете код 201? 201 означает, что вы создали ресурс для запроса и предоставляете ссылку на него. Если у вас есть статья и вы ее возвращаете, вы должны просто использовать 200.

В противном случае то, что вы делаете, кажется правильным, вы удаляете ErrorDocument, связанный с кодом состояния 201.

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