Передача списка объектов JSON в контроллер через вызов AJAX - PullRequest
0 голосов
/ 27 сентября 2019

Ниже приведены данные, которые я пытаюсь передать

var data=[{"TAG":"Taxes","REMARKS":"Enter Remarks"},{"TAG":"Taxes","REMARKS":"Enter Remarks"}];

Ajax-вызов для отправки данных в контроллер:

$.ajax({
    type: "POST",
    url: "rest/url",
    data: JSON.stringify(data),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (result) {                
        console.log(result);
    },
    error : function(xml, status, xhr) {            
        obj = (xml.responseText);
    }
});
@RequestMapping(value = "/url", method = RequestMethod.POST,consumes="application/json",produces="application/json")
public @ResponseBody
LinkedHashMap<String, ArrayList> getData(@RequestBody List<DataDTO> data,HttpServletRequest request1) {
System.out.println("Inside Controller :"+data.getClass())// getting Arraylist object
DataDTO dto1=data.get(0);// getting class cast exception

В приведенном вышекод Я могу получить данные в контроллере в формате списка, но когда я инициализирую объект в класс DTO, я получаю ClassCastException.

1 Ответ

0 голосов
/ 27 сентября 2019

Ваш класс DataDTO должен быть похож на следующий, потому что в AJAX вы используете TAG и REMARKS.Но в классе DataDTO это TAG и Remarks.Поэтому измените свой класс следующим образом:

public class DataDTO {
    private String TAG;
    private String REMARKS;
    //Getters and setters
}
...