2

我正在尝试在 zend 框架中创建一个 REST 服务。我正在使用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 " "

但是这样做的“正确”方式是什么?

4

2 回答 2

2

你原来的方法是正确的。201 是发布新资源后的适当响应。

我认为您看到的在您自己的内容之后生成的错误文档不应该存在。您是否正在运行Zend Server Community Edition v5.0?如果是,请查看此线程,我认为您遇到了与那里的其他人相同的问题:
如何关闭 Zend Server 中的默认 HTTP 状态码错误?

于 2010-04-05T11:32:25.557 回答
0

你为什么使用代码 201?201 表示您已经为请求创建了资源并提供了指向它的链接。如果你有这篇文章并且要退回它,你应该只使用 200。

否则,您所做的似乎是正确的方法,您删除了与状态码 201 关联的 ErrorDocument。

于 2010-04-05T11:15:10.283 回答