gpt4 book ai didi

java - 如何在同一个查询中检查多个 ID?

转载 作者:行者123 更新时间:2023-12-02 09:16:13 25 4
gpt4 key购买 nike

我正在尝试对同一个表中的数据库进行多个 ID 的查询。

这个想法是选择不同的 ID 并将它们发送到 Controller ,这会回答我已发送的 ID 的所有数据。

我发送给 Controller 的内容

[
{
"id": 22
},
{
"id": 23
},
{
"id": 11
}
]

返回给我的答案

“JSON 解析错误:无法在 START_ARRAY token 之外反序列化 co.gov.risaralda.siete.rest.entity.Rol 的实例;嵌套异常为 com.fasterxml.jackson.databind.exc.MismatchedInputException:无法反序列化 co 的实例.gov.risaralda.siete.rest.entity.Rol 来自 START_ARRAY token \n,位于 [来源:(PushbackInputStream);行:1,列:1]"

Controller :

@PostMapping ("/public/various")
     public List<Rol> listById(@Valid @RequestBody Role role) {
         Object id = role.getId ();
         return rolRepository.findById((Long) id);
     }

我知道我做得不好,我希望能有一个例子来说明如何实现这一点。谢谢

期望的响应是:

[
{
   "id": 22,
   "name": "ROLE_USER",
   "created_date": "2019-10-04",
   "modified_date": "2019-10-18"
},
{
   "id": 23,
   "name": "ROLE_ADMIN",
   "created_date": "2019-10-04",
   "modified_date": "2019-10-18"
},
{
   "id": 11,
   "name": "ROLE_LECTURA",
   "created_date": "2019-10-04",
   "modified_date": "2019-10-18"
}
]

存储库

@Repository
public interface RolRepository extends JpaRepository <Role, Serializable> {
     public abstract List <Rol> findById (Long id);
}

最佳答案

JpaRepository.findAllById(Iterable ids)

Returns all instances of the type T with the given IDs. If some or all ids are not found, no entities are returned for these IDs.

Note that the order of elements in the result is not guaranteed.

编辑:
如果您想在正文中发送ids(也可以作为请求参数发送),则为创建一个类包装器请求ids 列表,例如 EmployeeIdsRequest:

@RestController
public class EmployeeController {

@Autowired
private EmployeeRepository employeeRepository;

@PostMapping
public List<Employee> getEmployees(@RequestBody EmployeeIdsRequest idsRequest) {
return employeeRepository.findAllById(idsRequest.getIds());
}

static class EmployeeIdsRequest {

private List<Integer> ids;

public List<Integer> getIds() {
return ids;
}

}

}

使用正文发送请求:

{
"ids": [
1,
2,
3
]
}

一些正文结果:

[
{
"id": 1,
"name": "DHONI"
},
{
"id": 2,
"name": "KHOLI"
}
]

关于java - 如何在同一个查询中检查多个 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58963546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com