我正在使用Silex創建一個RESTful API。要測試我正在使用Chrome的「簡單REST客戶端」插件。在Silex RESTful API中獲取POST正文數據
在插件我的URL設置爲:http://localhost/api-test/web/v1/clients 我設置的「方法」:帖子 我離開這個「頭」空白 我設置的「數據」到:名稱=無論
在我「clients.php」的網頁我有:
require_once __DIR__.'/../../vendor/autoload.php';
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
$app = new Silex\Application();
$app->post('/clients', function (Request $request) use ($app) {
return new Response('Created client with name: ' . $request->request->get('name'), 201);
}
在插件中,輸出顯示:「狀態:201」(正確的),一系列的頭,和「數據:創建客戶端名稱:」(它應該說「數據:創建客戶名稱:不管」
我在做什麼錯?我也試過:$ request-> get('name')
謝謝。
確保發送Content-Type頭與您的請求(即'Content-Type:application/x-www-form-urlencoded')。 – xabbuh
@xabbuh我沒有創建表單,我正在創建一個API。這仍然是必要的嗎? –
@xabbuh添加你的頭文件對我提供的「數據」有效,謝謝。我的Ember.js前端實際上是提交JSON,所以發佈的「數據」更可能是:{「name」:「whatever」},但是當我使用這些數據和標題「Content-Type:application/json「或」Content-Type:application/vnd.api + json「,它不輸出名稱。 –