Как объяснить бекенд-разработчику почему я не могу сделать то, что он хочет?
Учите методы запросов. При помощи GET вы отсылаете строку, чтобы отослать объект вам нужно пользоваться одним из POST, PUT, PATCH и объект отсылать параметром
https://developer.mozilla.org/uk/docs/Web/HTTP/Methods
https://learn.javascript.ru/ajax-xmlhttprequest
https://developer.mozilla.org/en-US/docs/Web/API/F...
Товй кусок кода axios.get('../../../json/v1/form/kasko/dependencies', {
            params: payload
        }).then(response => {
Кусок кода из документацииPerforming a POST requestaxios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });
Научите бекенд писать API контракт в https://swagger.io/ тода будет меньше недопонимания
Вы можете сделать так, как хочет бекэндер.
Проблема в Axios. GET-параметры, если они содержат многомерные массивы/объекты он преобразовывает в json представление, оставляя лишь линей массив верхнего уровня. В общем-то правильно (это уже отметил Владимир ), GET для запроса данных, и параметры запроса обычно идут списком.
Но всё же протокол позволяет представлять и массивы, как линейные, так и многомерные. jQuery, кстати, в этом смысле так и делает.
В общем к сути. Вы можете использовать штатные возможности Axios для трансформации параметров запроса:let arr = [1,2,3];
let val = 'BMW';
let payload = {
    names : arr,
    values: {
        brand: val,
    },
};

axios.get('http://site.ru?id=1', {
    params: payload,
    paramsSerializer: function(params) {
        let tmp = [];
        params.names.forEach(item => {tmp.push(`names[]=${item}`)});
        for (let name in params.values) {
            if (!params.values.hasOwnProperty(name)) continue;
            tmp.push(`values[${name}]=${params.values[name]}`);
        }
        return tmp.join('&');
    },
}).then( ...
В результате запроса программист получит данные в массиве &_GET примерно в таком виде:Array
(
    [id] => 1
    [names] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )
    [values] => Array
        (
            [brand] => BMW
        )
)
Сериализатор придется писать под формат данных, или попробовать сообразить что-то универсальное.