gpt4 book ai didi

java - 使用 Spring 过滤来自请求的数据

转载 作者:行者123 更新时间:2023-11-30 04:17:03 25 4
gpt4 key购买 nike

我有一些来自请求的信息,例如:

http://localhost:9080/online/accounts/list/usersQuery?filter=uid&value=ab

我必须在 Spring 中处理这个问题,其中对象是 uid ,过滤器值为 ab

到目前为止,我在 Spring 中有以下代码:

@RequestMapping(produces="application/json", value = "/usersQuery", method=RequestMethod.GET)
public @ResponseBody PagedResources<Resource<UserDetails>> listItemsSortQuery(@PageableDefault(size = 20, page = 0) Pageable pageable, PagedResourcesAssembler<UserDetails> assembler) {


Page<UserDetails> lstUserDetails = userDetailsRepository.findAll(pageable);

return assembler.toResource(lstUserDetails);
}

但它不会考虑这两个值。

为了根据字段uid过滤数据并过滤数据ab,我应该更改什么?

uiduser 对象中的用户 id,我需要选择所有具有 id< 的用户 包含 ab

任何帮助将不胜感激。

最佳答案

尝试使用@RequestParam获取uid值

    @RequestMapping(produces="application/json", value = "/usersQuery", method=RequestMethod.GET)
public @ResponseBody PagedResources<Resource<UserDetails>> listItemsSortQuery(@PageableDefault(size = 20, page = 0) Pageable pageable, PagedResourcesAssembler<UserDetails> assembler,
@RequestParam("filter")String filter, @RequestParam("value")String value) {


Page<UserDetails> lstUserDetails = userDetailsRepository.findByFilter(pageable, filter, value);

return assembler.toResource(lstUserDetails);
}

编辑:

在您的存储库中,您需要一种方法来过滤数据,即

    public interface UserDetailsRepository extends JpaRepository<UserDetails, Long> {
@Query("SELECT u FROM UserDetails u WHERE LOWER(?1) = LOWER(?2)")
Page<UserDetails> findByFilter(String filter, String value, Pageable pageable);
}

关于java - 使用 Spring 过滤来自请求的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18127241/

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