'I want to store array json to redis server Java
Please Please Help me I want to store array JSON to Redis server Need Help Please
http://localhost:8585/api/redishome/redisGetBestTrainerBasedRating/101
response
{
"message": "class java.util.ArrayList cannot be cast to class com.mycareerbuild.user.domain.BestTrainerBasedRating (java.util.ArrayList is in module java.base of loader 'bootstrap'; com.mycareerbuild.user.domain.BestTrainerBasedRating is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @5e243bf4)"
}
I am able to store this below response without Making List
{
"trainerid": 28,
"rating": 5.0,
"trainerName": "yellow",
"courseName": "",
"price": 0.0,
"image": "null",
"language": "kannada"
}
But I want to store it like this below when I try to make in with List getting above error response
[
{
"trainerid": 28,
"rating": 5.0,
"trainerName": "yellow",
"courseName": "",
"price": 0.0,
"image": "null",
"language": "kannada"
},
{
"trainerid": 28,
"rating": 5.0,
"trainerName": "yellow",
"courseName": "",
"price": 0.0,
"image": "null",
"language": "telugu"
},
{
"trainerid": 28,
"rating": 5.0,
"trainerName": "yellow",
"courseName": "",
"price": 6.0,
"image": "null",
"language": "kannada"
},
{
"trainerid": 28,
"rating": 5.0,
"trainerName": "yellow",
"courseName": "",
"price": 6.0,
"image": "null",
"language": "telugu"
},
{
"trainerid": 28,
"rating": 5.0,
"trainerName": "yellow",
"courseName": "",
"price": 10.0,
"image": "null",
"language": "kannada"
},
{
"trainerid": 28,
"rating": 5.0,
"trainerName": "yellow",
"courseName": "",
"price": 10.0,
"image": "null",
"language": "telugu"
}
]
My controller
@PutMapping("/redisGetBestTrainerBasedRating/{trainerid}")
@ResponseBody
public ResponseEntity<List<BestTrainerBasedRating>> redisGetBestTrainerBasedRating(@RequestBody List<BestTrainerBasedRating> item,@PathVariable Long trainerid) throws JsonProcessingException {
List<BestTrainerBasedRating> ans = hc.redisGetBestTrainerBasedRating(item, trainerid);
return new ResponseEntity<List<BestTrainerBasedRating>> (ans, HttpStatus.OK);
}
Component :
@CachePut(value = "homeCache", key = "#trainerid", condition = "#result!= null")
public List<BestTrainerBasedRating> redisGetBestTrainerBasedRating(List<BestTrainerBasedRating> item, Long trainerid) {
System.out.println("In redisGetBestTrainerBasedRating cache Component..");
// item.setAnswer(item.getAnswer());
List<BestTrainerBasedRating> ans = cacheRepo.redisGetBestTrainerBasedRating(item, trainerid);
return ans;
// "Answer Submiteed with questionId "+questionId;
}
Redis store code
public List<BestTrainerBasedRating> redisGetBestTrainerBasedRating(List<BestTrainerBasedRating> item, Long trainerid) {
System.out.println("Geeting data from redis"+((BestTrainerBasedRating) item).getTrainerid());
hashOperations.put(KEY,((BestTrainerBasedRating) item).getTrainerid(),item);
return item;
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
