如何在Spring授权服务器中获取Page<RegisteredClient>? [英] How to get Page<RegisteredClient> in Spring Authorization Server?

查看:0
本文介绍了如何在Spring授权服务器中获取Page<RegisteredClient>?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要使用自定义控制器添加或更新RegisteredClient,因此首先需要显示RegisteredClient的列表。

所以我想获取Page UseRegisteredClientRepository.findAll(Pageable pageable),但RegisteredClientReposator没有findAll方法,只有findByIdfindByClientId

如何获取RegisteredClient的列表?

推荐答案

最后我使用jdbcTemplate查询

@Component
public class CustomRegisteredClientRepo {

  @Autowired
  private JdbcTemplate jdbcTemplate;


  public Page<CustomClient> findAll(Pageable page) {
    Order order = !page.getSort().isEmpty() ? page.getSort().toList().get(0) : Order.by("id");

    SqlRowSet rs = jdbcTemplate.queryForRowSet("SELECT * FROM oauth2_registered_client ORDER BY "
        + order.getProperty() + " " + order.getDirection().name() + " LIMIT " + page.getPageSize()
        + " OFFSET " + page.getOffset());

    long count =
        jdbcTemplate.queryForObject("select count(*) from oauth2_registered_client", long.class);

    List<CustomClient> list = new ArrayList<CustomClient>();

    while (rs.next()) {
      CustomClient client = new CustomClient();
      client.setId(rs.getString("id"));
      client.setClientId(rs.getString("client_id"));
      list.add(client);
    }
    return new PageImpl<CustomClient>(list, page, count);
  }
}

这篇关于如何在Spring授权服务器中获取Page&lt;RegisteredClient&gt;?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆