Jpa Repository save Предполагаемый тип 'S' для параметра типа 'S' находится за его пределами - PullRequest
0 голосов
/ 06 июня 2018

У меня есть сущность user

@Entity
@Data
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    private String username;

    private String password;

}

UserRepository

public interface UserRepository extends JpaRepository<UserRepository, Long> {
    User findByUsername(String username);
}

Контроллер

@RestController
@RequestMapping("/user")
public class UserController {

    private UserRepository userRepository;
    private BCryptPasswordEncoder bCryptPasswordEncoder;

    public UserController(UserRepository userRepository, BCryptPasswordEncoder bCryptPasswordEncoder) {
        this.userRepository = userRepository;
        this.bCryptPasswordEncoder = bCryptPasswordEncoder;
    }

    @PostMapping("/sign-up")
    public void signUp(@RequestBody User user) {
        user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
        userRepository.save(user);
    }
}

В классе UserController в методе signUp userRepository.save (пользователь) выдает ошибкуПредполагаемый тип 'S' для параметра типа 'S' находится за его пределами;должен реализовать 'Repository.UserRepository

1 Ответ

0 голосов
/ 06 июня 2018

Объявление интерфейса вашего репозитория неверно.

Изменить

public interface UserRepository extends JpaRepository<UserRepository, Long> 

на

public interface UserRepository extends JpaRepository<User, Long> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...