我需要按ID和用户名获取用户信息.我可以有2个这样的请求吗?
@GetMapping("/user/{id}")
public User getUser(@PathVariable Long id) {
return userRepository.getOne(id);
}
@GetMapping("/user/{username}")
public User getUser(@PathVariable String username) {
return userRepository.findUserByUsername(username);
}
public interface UserRepository extends JpaRepository<User,Long>{
@Query("SELECT u FROM u WHERE username= :#{username}")
User findUserByUsername(@Param("username") String username);
}
Run Code Online (Sandbox Code Playgroud)
错误: findUserByUsername(java.lang.String) but parameter 'Optional[username]' not found in annotated query 'SELECT u FROM u WHERE username= :#{username}'!
如果我没记错的话你可以通过正则表达式来做到这一点:
@GetMapping("/user/{id:[\\d]+}")
@GetMapping("/user/{username:^[a-fA-F]{100}$}")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |