无法通过Spring Rest端点执行删除操作

时间:2019-04-12 09:20:18

标签: spring rest spring-boot

我正在尝试使用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"
}

1 个答案:

答案 0 :(得分:0)

对此我可能是错的,但我希望邮递员中的错误是“路径”:“ / users / delete / user”?您确定要传递路径变量的用户名吗?

请求是否曾经进入控制器并打印您的消息:

System.out.println(“删除名称为” + userName +“ ...”的用户);