फिल स्टर्जन के लिए DELETE अनुरोध कैसे भेजें - codeigniter-restserver - php, codeigniter, बाकी

जैसा कि शीर्षक कहता है, मैं फिल स्टर्जन - कोडिनेटर-रेस्टसर्वर फ्रेमवर्क के साथ कोडनिर्देशक का उपयोग कर रहा हूं।

मैंने ट्यूटोरियल का पालन किया है Nettus और सब कुछ ठीक काम करता है जब एक डेली अनुरोध भेजते हैं।

कोड:

<?php
require(APPPATH."libraries/REST_Controller.php");

class Client extends REST_Controller{

function user_get()
{
$data = array("returned:"=> $this->get("id"));
$this->response($data);
}

function user_post()
{
$data = array("returned:"=> $this->post("id"));
$this->response($data);
}

function user_put()
{
$data = array("returned:"=> $this->put("id"));
$this->response($data);
}

function user_delete()
{
$data = array("returned from delete:"=> $this->delete("id"));
$this->response($data);
}
}

मैं अनुरोध भेजने के लिए HTTP संसाधन परीक्षण नामक एक एफएफ एडन का उपयोग कर रहा हूं लेकिन जब मैं इस यूआरएल के साथ एक डिलीट अनुरोध भेजता हूं: http://localhost/api/client/user/id/1, मुझे {"हटाएं से लौटा दिया गया:": false}

अलग नोट के रूप में : मुझे मिला पद और "एक्स-एचटीटीपी-विधि-ओवरराइड" हेडर का उपयोग करके और इसे एक पोस्ट अनुरोध के रूप में भेजकर मैं आईडी प्राप्त करने में सक्षम था, लेकिन मैं एक ऐसा तरीका पसंद करता हूं जहां क्लाइंट को यह हेडर जोड़ने की आवश्यकता नहीं है।

उत्तर:

उत्तर № 1 के लिए 13

HTTP spec DELETE पैरामीटर नहीं भेज सकता है के अनुसार। इसमें यूआरएल में चीजें हो सकती हैं, ताकि आप इसे बदल सकें:

public function user_delete($id)
{
$this->response(array(
"returned from delete:" => $id,
));
}

जवाब के लिए 0 № 2

मेरे लिए यह काम एक ही समस्या थी

1 -> REST_Controller.php में डिफ़ॉल्ट _parse_delete () फ़ंक्शन को प्रतिस्थापित करें:

protected function _parse_delete()
{
$this->_delete_args = $_DELETE;
$this->request->format and $this->request->body = file_get_contents("php://input");
// Set up out DELETE variables (which shouldn"t really exist, but sssh!)
parse_str(file_get_contents("php://input"), $this->_delete_args);
}

वह सब कुछ है! " user_delete ($ आईडी) ""


संबंधित सवाल
सबसे लोकप्रिय