Проблемы с моделью привязки массива ViewModels - PullRequest
0 голосов
/ 24 апреля 2019

Я отправляю модель на свой внутренний сервер через запрос axios.post. Все хорошо. Тем не менее, я изо всех сил, чтобы отправить массив этих моделей представления.

Это то, что у меня так далеко.

Мой метод axios:


 createMusicList() {
         const { playlist } = this.state;

         let model = {Name: "PlayListOne",
            Tracks: ["test1", "test2"]}

         console.log(playlist);
         console.log(model);


        axios({
            url: 'http://localhost:60231/api/values',
            method: 'post',
            headers: {'content-type' : 'application.json'},
            params: model
            })       
        .then(function (response){
            console.log(response.data)
        })
        .catch(function (error){
            console.log(error);
        });
     }

Вот моя ViewModel на моем заднем конце:

public class PlaylistModel
    {
        public string[] Tracks { get; set; }

        public string Name { get; set; }
    }

А вот мой ActionMethod на моей задней стороне:

[HttpPost]
public void Post(PlaylistModel result)
{
    Console.WriteLine();
}

Является ли это правильным способом продолжения передачи массивов? Должен ли я сделать все свои свойства в моей ViewModel массивов типов, если я передаю несколько объектов с этими свойствами?

РЕДАКТИРОВАТЬ: Я изменил код для простоты и в целях тестирования. Если я отправляю «модель» в BackEnd, свойство «Имя» сопоставляется, однако массив строк - нет - он возвращает что-то вроде {string [0]}

1 Ответ

0 голосов
/ 25 апреля 2019

Наконец-то понял!

axios({
        url: 'http://localhost:60231/api/values',
        method: 'post',
        data: qs.stringify(model),
        })

Использование «qs.stringify» в моей модели, а также «данных» в качестве ключа. Если это params, данные будут отправлены в виде строки запроса.

...