Java/Spring Boot

Spring boot org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.ArrayList<java.util.Map<java.lang.String,java.lang.Object>>` from Object value (token `JsonToken.START_OBJECT`)

바리새인 2025. 1. 28. 00:50

Map 형태로 데이터를 보냈는데, List 형태로 데이터를 받아서 에러 발생

Client

Ext.Ajax.request({
    url: '/url',
    params: {
        _csrf: document.getElementById('_csrf').innerText,
    },
    method: 'POST',
    jsonData: {
        data: data,
    },	
    success: function(response) {
    },
    failure: function(response) {
        Ext.Msg.alert('Error', 'Failed to save changes.');
        console.error('Server error:', response.responseText);
    }
});

Data

{
	"data": [
          {
            "a": "abcg",
            "b": 123,
          }
        ]
}

Server

@RequestMapping("/url")
public int test(@RequestBody List<Map<String, Object>> data) {
    log.debug("-------------");
    log.debug(data.toString());
    return null;
}

수정: jsonData를 변경

Ext.Ajax.request({
    url: '/url',
    params: {
        _csrf: document.getElementById('_csrf').innerText,
    },
    method: 'POST',
    jsonData: data,
    success: function(response) {
    },
    failure: function(response) {
        Ext.Msg.alert('Error', 'Failed to save changes.');
        console.error('Server error:', response.responseText);
    }
});