weixin_33736048 2017-10-15 21:46 采纳率: 0%
浏览 31

Spring Boot自动完成ajax

I have a RestController that returns all users from the database in JSON format :

    @RequestMapping(path="users", method=RequestMethod.GET)
public List<User> getAllUsers(){
    return userService.getAllUsers();
}

I have an input field that I want to autocomplete when typing the name of the user :

<input id="user" type="text">

The Ajax call :

   $("#user").keyup(function(e) {
  var username = e.target.value;
  delaySearch && clearTimeout(delaySearch);
  delaySearch = setTimeout(() => {
    var url="/clients/";
    $.getJSON(url, function(data){
      ..?
}
  }, 200);
});

}

How do I make it filter through the users returned from the controller ? Do I need a different controller that takes an input the letters in the input field ? I'm a beginner, so I'm sorry if it's a simple question. The User class has one field String for Name and one field for Last Name. I would need both to show . Thank you in advance!!

  • 写回答

1条回答 默认 最新

  • weixin_33699914 2017-10-15 21:56
    关注

    Your getAllUsers method will need to take a parameter, and then you need to filter the results obtained from .getAllUsers() method:

      @RequestMapping(path="users", method=RequestMethod.GET)
    public List<User> getAllUsers(@RequestParam String name){
        List<User> results = userService.getAllUsers();
        return results.stream.filter( user -> user.contains(name)).collect(Collectors.toList()); 
    }
    

    And then you need to filter the results by the parameter.

    But you really probably don't want to run it like this, you could potentially be passing around very long lists of Users for every single key stroke. I would suggest implementing a .getAllUsersContaining(String name) method for querying your DB or however you're storing your data

    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么