Передача HashMap с определенным пользователем объектом в качестве ключа через json с использованием контроллера Spring - PullRequest
0 голосов
/ 29 апреля 2020

Я возвращаю HashMap<Category,List<Category >>, где категория - это определенный пользователем класс. Я переопределил hashcode() и методы equals () для Category.class. Я могу получить доступ к ключам HashMap в контроллере как объект класса Category. Но когда вы видите в POSTMAN результат, ключевой объект автоматически преобразуется в строку. Может кто-нибудь сказать мне, почему он автоматически преобразуется в строку? И предложите мне способ сохранить эти ключи в качестве объекта категории, даже если он преобразуется в JSON

POSTMAN-

{
"Category [categoryId=3, categoryName=Plumbing, parentCategory=null]": [
    {
        "categoryId": 13,
        "categoryName": "Basin and Sink",
        "parentCategory": 3
    },
    {
        "categoryId": 14,
        "categoryName": "Tap & Mixer",
        "parentCategory": 3
    }
],
"Category [categoryId=4, categoryName=Cleaning, parentCategory=null]": [
    {
        "categoryId": 5,
        "categoryName": "Kitchen Cleaning",
        "parentCategory": 4
    },
    {
        "categoryId": 6,
        "categoryName": "Bathroom Cleaning",
        "parentCategory": 4
    },
    {
        "categoryId": 7,
        "categoryName": "Deep home cleaning",
        "parentCategory": 4
    }
]
}

Контроллер: -

@GetMapping("/getAllCategoriesMap")
public HashMap<Category,List<Category >> getAllCategoriesMap() {
    try {
        HashMap<Category,List<Category >> c=categoryService.getAllCategoriesMap();
        System.out.println(c.toString());
        for (Category key : c.keySet()) {
              System.out.println(key.toString()); 
        }
        return c;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

РЕЗУЛЬТАТЫ СИОУТА В КОНТРОЛЛЕРЕ-

{Category [categoryId=3, categoryName=Plumbing, parentCategory=null]=[Category [categoryId=13, categoryName=Basin and Sink, parentCategory=3], Category [categoryId=14, categoryName=Tap & Mixer, parentCategory=3]], Category [categoryId=4, categoryName=Cleaning, parentCategory=null]=[Category [categoryId=5, categoryName=Kitchen Cleaning, parentCategory=4], Category [categoryId=6, categoryName=Bathroom Cleaning, parentCategory=4], Category [categoryId=7, categoryName=Deep home cleaning, parentCategory=4]], Category [categoryId=8, categoryName=Electrician, parentCategory=null]=[Category [categoryId=15, categoryName=Switch & Socket, parentCategory=8]], Category [categoryId=9, categoryName=Refrigerator, parentCategory=null]=[Category [categoryId=10, categoryName=Laptop repair, parentCategory=9], Category [categoryId=16, categoryName=Installation, parentCategory=9]], Category [categoryId=11, categoryName=Aqua Guard, parentCategory=null]=[Category [categoryId=12, categoryName=CLeaning aqua, parentCategory=11]]}



Category [categoryId=3, categoryName=Plumbing, parentCategory=null]
Category [categoryId=4, categoryName=Cleaning, parentCategory=null]
Category [categoryId=8, categoryName=Electrician, parentCategory=null]
Category [categoryId=9, categoryName=Refrigerator, parentCategory=null]
Category [categoryId=11, categoryName=Aqua Guard, parentCategory=null]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...