我正在尝试使用spring作为后端创建一个crud应用程序。我已经创建了用于获取,创建和删除用户的映射。但是,删除请求无效。其他两个映射都可以正常工作。
这是我的存储库:
@Repository
public interface UsersRepository extends JpaRepository<Users,Long> {
@Transactional
void deleteByuserName(String username);
}
这是我的控制人:
@RestController
public class UsersController {
@Autowired
UsersRepository usersRepository;
@PostMapping(value = "/users/create")
public Users postCustomer(@RequestBody Users user) {
Users _user = usersRepository.save(new Users(user.getUserName(),user.getPassword(),user.getUserRole()));
return _user;
}
@GetMapping("/users")
public List<Users> getAllReports()
{
return usersRepository.findAll();
}
@DeleteMapping(value = "/users/delete/{userName}")
public @ResponseBody void deleteCustomer(@PathVariable("userName") String userName) {
System.out.println("Delete User with name = " + userName + "...");
usersRepository.deleteByuserName(userName);
}
}
我在邮递员中遇到的错误是:
{
"timestamp": "2019-04-12T09:18:51.401+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/users/delete"
}
答案 0 :(得分:0)
对此我可能是错的,但我希望邮递员中的错误是“路径”:“ / users / delete / user”?您确定要传递路径变量的用户名吗?
请求是否曾经进入控制器并打印您的消息:
System.out.println(“删除名称为” + userName +“ ...”的用户);
?