Java 类型数组中的方法asList(T…)不适用于参数(角色,角色)
我正在尝试使用Postman测试OAuth 2.0授权,如果我实现正确的话 我寄这封信是邮递员寄来的,希望能收到回信 但我在这部分代码中有错误:Java 类型数组中的方法asList(T…)不适用于参数(角色,角色),java,spring,oauth-2.0,Java,Spring,Oauth 2.0,我正在尝试使用Postman测试OAuth 2.0授权,如果我实现正确的话 我寄这封信是邮递员寄来的,希望能收到回信 但我在这部分代码中有错误: @SpringBootApplication public class KamehouseApplication { public static void main(String[] args) { SpringApplication.run(KamehouseApplication.class, args); }
@SpringBootApplication
public class KamehouseApplication {
public static void main(String[] args) {
SpringApplication.run(KamehouseApplication.class, args);
}
@Autowired
public void configure(AuthenticationManagerBuilder auth, UserRepository repo, User user) throws Exception {
if (repo.count() == 0)
user = (new User("user", // username
"user", // password
Arrays.asList(new Role("USER"), new Role("ACTUATOR"))));// roles
repo.save(user);
auth.userDetailsService(s -> new CustomUserDetails(repo.findByUsername(s)));
}
}
红色下划线的部分是
Arrays.asList(new Role("USER"), new Role("ACTUATOR"))));
说
The method asList(T...) in the type Arrays is not applicable for the arguments (Role, Role)
这是我的用户类
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue
public int id;
public String firstname;
public String lastname;
public String username;
public String password;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<Role> roles;
public User() {
}
//Getters/Setters
@实体
@表(name=“user”)
公共类用户{
@身份证
@生成值
公共int id;
公共字符串名;
公共字符串lastname;
公共字符串用户名;
公共字符串密码;
@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
私有列表角色;
公共用户(){
}
//能手/二传手
解决方案
我换了一个构造器
public Role() {
}
到
添加到my Role.java文件中,并且还添加了
public User(String username, String password, List roles) {
}
对于我的User.java,现在它工作得很好。你确定你正在导入
java.util.Arrays
而不是其他Arrays
类吗?User
构造函数的签名是什么?java版本是什么?@lealceldero java version“1.8.0\u 131”可能不是问题,但我没有看到用户的构造函数(字符串用户名、字符串密码、列表角色)
…仅User()
。如果在另一行执行List roles=Arrays.asList(新角色(“用户”)、新角色(“执行器”)
,您会得到同样的结果吗代替角色工作正常?此外,您没有带参数的用户构造函数。也不需要在User=(new User(…);
处使用换行括号;还可以从方法签名中删除User User您永远不会使用传入的值。
public User(String username, String password, List roles) {
}