javascript - POST zahtjev s ugniježđenim praznim Map
Imam Spring Boot aplikaciju s React/Typescript frontendom. Trenutno imam sljedeća dva sučelja i objekt kreiran iz njih.
export interface Order {
customer_id: number;
date: Date;
total: number;
spec: OrderSpec;
}
export interface OrderSpec {
order: Map<number, number>
}
Kreiram objekt tipa Order i pokušavam napraviti POST zahtjev koristeći ga na sljedeći način:
return fetch(url, {
method: method,
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(item),
});
Moj problem je što svaki put kada se pošalje zahtjev, objekt izgleda ovako: mapa narudžbi je uvijek prazna (vidi... spec:{order:{}})
Odgovor #1
Kada pretvorite Map u niz znakova, dobivate prazan JSON objekt.
Ili pretvorite svoj Map u object i zatim ga pošaljete svojoj API ili jednostavno promijenite svoju strukturu podataka/tipove da pohranjuju objekt.
možete koristiti donji kod za pretvaranje vaše mape u JS objekt
let myMap = new Map();
myMap.set(1, 'one');
myMap.set(2, 'two');
Object.assign({}, ...Array.from(myMap.entries()).map(([k, v]) =>({[k]: v}) ))
Pogledajte dolje za više smjernica o konverziji karte:
Pretvori Mapu u JSON objekt u Javascripta
https://gist.github.com/lukehorvat/133e2293ba6ae96a35ba
