Вы действительно можете отправить свою Карту без изменения значения
var ansMap = new Map(); // This way i created object
// added many values in ansMap,
$.ajax({
type: "POST",
url: myUrl,
contentType : 'application/json',
//cache: false,
dataType : 'json',
data : JSON.stringify(Object.fromEntries(ansMap)), // can't JSON.stringy(ansMap) as it gives empty json
success: function(result) {
console.log(result);
},
Это превратит ее в объект javascript.
Object.fromEntries Превратит вашу Карту в объект javascript, безизменение исходного Map
Что касается вашего бэкенда, я думаю, что вы неправильно интерпретируете аннотацию @RequestParam. @RequestParam предназначен для извлечения запроса параметров, параметров формы и даже файлов из запроса.
Я думаю, что вы ищете @RequestBody. Это значит, что вы ищете что-то похожее на:
@RequestMapping(value="/myUrl",method = RequestMethod.POST)
public String saveData( @RequestBody Map<String,Object> body) {