Я возвращаю 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]