2010-04-05 5 views
2

Я пытаюсь создать службу REST в рамках zend. Я использую сервер zend.Zend Framework REST-служба Проблема с кодом состояния HTTP

Вот мой код:

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 есть Апачи документ об ошибке. Единственный способ, которым я могу думать, чтобы удалить добавленный документ об ошибке, чтобы добавить следующее в моем файле httpd.conf:

ErrorDocument 201 " " 

Но что «corrent» способ сделать это?

ответ

2

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

Я думаю, что документ Error, который вы видите, созданный после вашего собственного контента, не должен быть там. Вы используете Zend Server Community Edition v5.0, если это возможно? Если да, то посмотрите эту тему, я думаю, что вы столкнулись с той же проблемой, что и у другого парня:
How to turn off default HTTP status code errors in Zend Server?

0

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

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