2015-06-26 4 views
1

я использую yii2 и жрать версии 4, когда для апи pyhton Django 1.5 , когда я пытаюсь опубликовать данные с почтальоном работает, но когда я пытаюсь с PHP говорят плохой запрос 404жрать 6 Методы поста не работают

error is GuzzleHttp\Exception\ClientException 
v1/jobs/ [status code] 400 [reason phrase] BAD REQUEST 

данных после формата человек формат

url -vm.xxx.com/v1/jobs/ 
{ 
     "job_position":"Test Postion", 
     "eligibility_course_id":["1","2","3","4"], 
     "eligibiltiy_course_ids":["1","2","3","4"], 
     "eligibility_branch_id":["5","6","7","8"], 
     "eligibiltiy_skill_ids":["10","23","24"], 
     "eligibiltiy_sublocation_ids":["10","23","24"], 
     "location":["26","30","2","3"], 
     "job_category":["1","4","7"], 
     "sms_category":"1", 
     "posting_date":"31\/07\/2014", 
     "expiry_date":"31\/08\/2014", 
     "job_type_id":"1", 
     "job_type_other":"", 
     "hiring_process":["1"], 
     "job_description":"Test Description<\/p>", 
     "company_name":"Test Company name", 
     "company_profile":"Test company profile<\/p>", 
     "company_url":"", 
     "seo_title":"Test Seo Title", 
     "seo_description":"Test Seo Description", 
     "seo_keyword":"Test seo Keyward", 
     "response":"1","how_to_apply":"", 
     "terms_agreement":"1", 
     "specify_terms_agreement":"", 
     "employer_id":"1008369", 
     "button_submitForm":"Post Job", 
     "posted_by_id":"114", 
     "template_name":"job_description" 
    } 

работы с данными PHP кода метод -1

$arr=[ 
"job_position" => "Test Postion", 
"eligibility_course_id" => ["1","2","3","4"], 
"eligibiltiy_course_ids" => ["1","2","3","4"], 
"eligibility_branch_id" => ["5","6","7","8"], 
"eligibiltiy_skill_ids" => ["10","23","24"], 
"eligibiltiy_sublocation_ids" => ["10","23","24"], 
"location" => ["26","30","2","3"], 
"job_category" => ["1","4","7"], 
"sms_category" => "1", 
"posting_date" => "31\/07\/2014", 
"expiry_date" => "31\/08\/2014", 
"job_type_id" => "1", 
"job_type_other" => "", 
"hiring_process" => ["1"], 
"job_description" => "Test Description<\/p>", 
"company_name" => "Test Company name", 
"company_profile" => "Test company profile<\/p>", 
"company_url" => "", 
"seo_title" => "Test Seo Title", 
"seo_description" => "Test Seo Description", 
"seo_keyword" => "Test seo Keyward", 
"response" => "1","how_to_apply" => "", 
"terms_agreement" => "1", 
"specify_terms_agreement" => "", 
"employer_id" => "1008369", 
"button_submitForm" => "Post Job", 
"posted_by_id" => "114", 
"template_name" => "job_description" 
]; 
$client = new Client(); 
$apiurl=Yii::$app->params['apiurl']; 
$url=$apiurl.'/v1/jobs/'; 
try { 

     $response = $client->post($url, ['json' => $arr]); 
} 
catch (\GuzzleHttp\Exception\BadResponseException $e) { 

    $req = $e->getRequest(); 
    $resp =$e->getResponse(); 
    echo "<pre>"; 
    var_dump($req); 
    var_dump($resp); 
    die('ss'); 
} 

попробовать метод-2

$arr=json_encode($arr); 
$request = $client->post($url,array(
    'content-type' => 'application/json' 
),array()); 
$request->setBody($arr); #set body! 
$response = $request->send(); 

тогда я получаю

InvalidArgumentException 
No method is configured to handle the content-type config key 
+0

Почтальон автоматически отправляет много заголовков автоматически, возможно, вам нужно включить заголовок 'Content-Type' в ваш запрос' guzzle'? – Ankh

+0

добавление Content-Type: application/json InvalidArgumentException Невозможно обработать ключ конфигурации содержимого содержимого – RahulG

+0

Перед отправкой вам может понадобиться 'json_encode'' 'arr arr ', [как это] (http: // stackoverflow.com/questions/22244738/how-can-i-use-guzzle-to-send-a-post-request-in-json) – Ankh

ответ

0

это моя ошибка я передаю неправильную дату для-мат

"posting_date" => "31\/07\/2014", 
"expiry_date" => "31\/08\/2014", 

вместо этого у меня есть пропуск

"posting_date" => "31/07/2014", 
"expiry_date" => "31/08/2014", 

затем работает

Смежные вопросы