Bootstrap

HttpServletRequest为什么不适用于企业的开发

在企业开发中,使用 HttpServletRequest 直接从请求中获取参数并进行处理的方式存在一些不足。以下是具体原因:
代码可读性和维护性差:
直接从 HttpServletRequest 获取参数并手动转换类型,代码显得冗长且容易出错。
不利于代码的可读性和维护性,尤其是当参数较多时。
缺乏参数校验:
没有对传入的参数进行有效的校验(如空值检查、格式验证等),可能导致运行时异常或安全漏洞。
耦合度高:
直接依赖 HttpServletRequest 使得控制器方法与HTTP协议紧密耦合,降低了代码的复用性和灵活性。
不符合RESTful设计原则:
RESTful API 设计提倡使用路径参数或请求体来传递数据,而不是通过查询参数进行删除操作。删除操作通常应使用路径参数来指定资源ID。
异常处理不完善:
没有处理可能的异常情况(如 id 参数缺失或格式错误),导致程序崩溃或返回不友好的错误信息

如以下代码

 @DeleteMapping("/depts")
    public Result delete(HttpServletRequest request){
        System.out.println("删除部门");
        String idStr=request.getParameter("id");
        int id =Integer.parseInt(idStr);
        System.out.println("删除部门的id为:"+id);
        return Result.success();

    }

应该修改为

@DeleteMapping("/depts/{id}")
public Result delete(@PathVariable("id") Integer id) {
    if (id == null || id <= 0) {
        return Result.error("无效的部门ID");
    }
    System.out.println("删除部门的id为:" + id);
    deptService.deleteById(id); // 假设deptService中有此方法
    return Result.success();
}
;