Chciałbym jakoś poprawnie zdefiniować w swoim kontrolerze dwie metody(może i więcej) do usuwania użytkowników. Wygląda to następująco:
@DeleteMapping(path = "/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
public void deleteUser(@PathVariable Long id) {
userRepository.delete(id);
}
@DeleteMapping(path = "/{login}", produces = MediaType.APPLICATION_JSON_VALUE)
public void deleteUserByLogin(@PathVariable String login) {
userRepository.deleteUserByLogin(login);
}
Repozytorium wygląda tak:
public interface UserRepository extends JpaRepository<User, Long>{
User findByEmail(String email);
@Modifying
@Transactional
@Query("delete from User u where u.login = ?1")
void deleteUserByLogin(String login);
}
Po wywołaniu delete w angularze:
userService.delete({login: login}).$promise.then(
dostaję odpowiedź:
DELETE http://localhost:8080/games-organizer/api/users?login=user1 404 (Not Found)
Jest ona dla mnie zrozumiała ostatecznie, ale właśnie chciałbym się dowiedzieć w jaki sposób ustawić - pewnie metody controllera, tak abym miał możliwość usunięcia użytkownika po loginie oraz po id.
Z góry dziękuję za odpowiedź ;)