Я хочу отправить объект изactjs (веб-интерфейс) в загрузочное приложение Spring (с резервированием) через API-интерфейс POST. Для этого я использовал fetch и json.stringfy.
myfunction(firstname, lastname, email, password, callback){
const data = {
firstname: firstname,
lastname: lastname,
email: email,
password: password
};
fetch("http://localhost:8080/data/somedata", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({data})
}).then(response => {
if (response.status === 200) {
console.log("Response ::", response.data);
} else {
callback(false, response.error);
}
});
}
В бэкэнде у меня есть загрузочное приложение Spring, показывающее API POST,
@RequestMapping(value ="/somedata", method = RequestMethod.POST)
public @ResponseBody String addSome (@RequestBody Map<String,String> payload) {
User n = new User();
n.setFirstName(payload.get("firstname"));
n.setLastName(payload.get("lastname"));
n.setPassword(passwordEncoder.encode(payload.get("password")));
n.setEmail(payload.get("email"));
userRepository.save(n);
return "Saved User";
}
Когда я вызываю API через POSTMAN, он работает нормально.
Проблема в том, что json.stringify (data) не дает ожидаемого результата.
JSON stringified data ::: {"firstname":"testname","email":{"__reactInternalInstance$uzhpqmwh4k":{"tag":5,"key":null,"type":"input","stateNode":"~email","return":{"tag":5,"key":null,"type":"div","stateNode":{"__reactInternalInstance$uzhpqmwh4k":"~email~__reactInternalInstance$uzhpqmwh4k~return","__reactEventHandlers$uzhpqmwh4k":{"className":"col-75","children":{"type":"input","key":null,"ref":null,"props":{"className":"form-input","type":"text","id":"email","value":""},"_owner":{"tag":2,"key":null,"stateNode":{"props":{"data":{"fullname":"testname","username":"","password":"test","email":"test@testmail.com"},......
Я пытался использовать ниже. Тем не менее, данные в формате json содержат ненужные символы.
JSON.stringify (data, getCircularReplacer ())
const getCircularReplacer = () => {
const seen = new WeakSet();
return (key, value) => {
if (typeof value === "object" && value !== null) {
if (seen.has(value)) {
return;
}
seen.add(value);
}
return value;
};
};
Может кто-нибудь, пожалуйста, помогите мне?