Zend Framework DİNLENME hizmet HTTP durum kodu sorunu

2 Cevap php

Ben zend çerçevesinde REST hizmet oluşturmak için çalışıyorum. Ben zend sunucu kullanıyorum.

İşte benim kod:

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);
  }

The HTTP response returns the appropriate headers and JSON data but under the JSON data there's an apache error document. The only way I can think of to remove the appended error document is to add the following in my httpd.conf file:

ErrorDocument 201 " "

Ama bu yapmanın "corrent" yolu nedir?

2 Cevap

Sizin orijinal yolu doğrudur. 201 yeni bir kaynak yazdıktan sonra uygun bir yanıttır.

I think that the Error document which you see generated after your own content should not be there. Are you running Zend Server Community Edition v5.0 by any chance? If yes, then see this thread, I think that you encountered the same problem as the other guy there:
http://stackoverflow.com/questions/2461315/how-to-turn-off-default-http-status-code-errors-in-zend-server

Neden kodu 201 kullanıyorsunuz? 201 Eğer istek için bir kaynak oluşturduk ve bunu bir bağlantı sağlayan demektir. Eğer makale var ve onu iade ediyorsanız sadece 200 kullanmalısınız.

Aksi takdirde, ne yaptığınızı doğru bir yol gibi görünüyor, sen durum-kodu 201 ile ilişkili ErrorDocument çıkarın.