Добрый день. Может ли кто-нибудь помочь мне опубликовать массив данных с помощью жужжания, я следил за документацией жужжания и не знаю, чего не хватает.
Маршруты: sync.php
$api->version('v1', [
'prefix' => 'api/v1',
],
$api->group([
'prefix' => 'sync'
], function ($api) {
$api->post('/accounts', 'App\Http\Controllers\SyncController@sync_accounts');
$api->get('/updateaccount', 'App\Http\Controllers\SyncController@updateaccounts');
});
]);
Контроллер: SyncController
use GuzzleHttp\Client;
use Illuminate\Http\Request;
public function updateaccounts()
{
$data = array('listid' => 'ListID',
'Name'=> 'Name',
'parentname'=> 'ParentRefFullName',
'fullname'=> 'FullName');
$http_call = new Client(['base_uri' => URL_CLOUD]);
$res = $http_call->post('sync/accounts/', [json_encode($data)]);
dd($res);
}
public function sync_accounts(Request $patch, $id)
{
$data = $patch->getContent();
return $data;
}
моя проблема здесь
"ошибка": { "message": "Ошибка клиента: POST http: //.../api/v1/sync/accounts/ привел к ответу 405 Method Not Allowed: \ n {\" error \ ": {\" message \ ": \" Метод 405 Not Allowed \ ", \" status_code \ ": 405}} \ n ", «код»: 405, "status_code": 500 }






Http 405 означает, что вы запускаете неправильный запрос к этой конечной точке get -> post или posting to get.
Кажется, что ваш URL-адрес имеет v1, который не определен как префикс, поэтому, если вы вместо этого попробуете этот URL-адрес:
baseURL/sync/accounts
поэтому моя логика синхронизации неверна, сначала я вызываю функцию, которая является методом get, затем я вызываю api, который должен получить все данные, затем сравнивать, и, если он не существует, он отправит сообщение для создания данных.
извините забыл добавить