У нас есть вложенный список, и мы используем метод GET для получения одного из атрибутов (CarName) внутри вложенного списка, мы не можем этого сделать
Мы не можем этого сделать, потому что CarName являетсяне корневой атрибут и не столбец в таблице DynamoDB, атрибут внутри вложенного списка.
класс контроллера
@GetMapping("/car/{carName}")
public ResponseEntity<Map<String, Object>> getCarName(@PathVariable("carName") String carName) {
return new ResponseEntity<>(carService.getByCarName(carName), HttpStatus.OK);
}
класс обслуживания
public Map<String, Object> getByCarName((String carName) {
Map<String, Object> map = new HashMap<>();
Item item = table.getItem("carName", carName);
map.putAll(item.asMap());
return map;
}
JSONпример формата
{
"id":"4",
"List":
[
{
"id":"4",
"carName": "health",
"startTime":"12:30 PM",
"car" :
[
{
"attributeName":["what disease"],
},
{
"attributeName":["what disease"],
}
]
}
Я получил это сообщение об ошибке при выполнении запроса POST с этим форматом JSON
"message": "com.amazonaws.services.dynamodbv2.model.AmazonDynamoDBException: The provided key element does not match the schema (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: ODQVTSCU30F2VE949S2UIF524BVV4KQNSO5AEMVJF66Q9ASUAAJG)",