В моем проекте я хочу отправить некоторые данные на сервер, используя axios.put()
(this.$http
в vue -ax ios). Однако я хочу заменить одно свойство (из многих) перед фактической отправкой данных. Если быть точным, свойство named содержит сложный объект, но я хочу преобразовать его в простую строку перед сериализацией, поэтому веб-интерфейс c# не должен беспокоить десериализацию объекта, а только сохраняет его в базе данных как есть.
Я уже нашел метод transformRequest
. Но я предполагаю, что если бы я просто переписал свойство там, это чередовало бы мою модель представления. Следовательно: существует ли простой способ одностороннего преобразования этих данных перед отправкой?
await this.$http.put(
`Settings/ViewerRoles/${this.$route.params.id}`,
this.roleSettings,
{
transformRequest: [(data, headers) => {
// This would overwrite the original property in my view model, right?
return data.map(d => ({ d.myProp = JSON.stringify(d.myProp); return d; }));
}, ...this.$http.defaults.transformRequest]
}
);