【问题标题】:(type=Bad Request, status=400) Required request parameter 'productId' for method parameter type long is not present (Spring MVC - Hibernate JPA)(type=Bad Request, status=400) 方法参数类型 long 所需的请求参数 'productId' 不存在 (Spring MVC - Hibernate JPA)
【发布时间】:2021-08-03 06:52:43
【问题描述】:

jpa hibernate(crud operation)有个问题,其实我可以做create、read和delete操作,但是遇到更新操作我不知道该怎么办。 这是我的代码。更新操作有问题。你能帮帮我吗?

@Autowired
ProductRepository productRepository;

//**************WELCOME***************
@GetMapping("/welcome")
public String welcomePage() {
    return "welcome";
}

// **************İNSERT****************
@GetMapping(path = { "/productinsert"})
public String insertProduct(Model model) {
    Product product = new Product(" ", 0.0); // Gösterim Katmanına ilk boş bir sayfa gitmeli o yüzden değerler boş
    model.addAttribute("product", product);
    return "/productinsert";
}

@PostMapping("/productinsert")
public String insertProduct(Product product, BindingResult bindingResult, Model model) {
    productRepository.save(product);
    if (bindingResult.hasErrors()) {
        return "/productinsert";
    } else {
        model.addAttribute("mesaj", "Ürününüz Başarıyla Kaydedilmiştir.");
        return "/productsuccess";
    }
}

//************UPDATE**************
@GetMapping("/productedit")
public String editProduct() {
    return "/productedit";
}
***//PROBLEM İS HERE//***
@RequestMapping(value = "/productedit", method = RequestMethod.POST)
public String editProductt(@RequestParam long productId, Model model) {
    Optional<Product> proOptional =  productRepository.findById(productId);
    Product product = proOptional.get();
    model.addAttribute("product", product);
    return "/productinsert";
}

}

问题就是这样

出现意外错误(类型=错误请求,状态=400)。 方法参数类型 long 所需的请求参数“productId”不存在 org.springframework.web.bind.MissingServletRequestParameterException:方法参数类型 long 所需的请求参数“productId”不存在

【问题讨论】:

    标签: spring spring-boot hibernate spring-mvc spring-data-jpa


    【解决方案1】:

    此错误表示您的请求中缺少 productId 参数,请求格式必须为https://your-domain:port/productedit?productId=X,例如:https://localhost:8080/productedit?productId=1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-07
      • 2021-09-21
      • 1970-01-01
      • 2021-11-08
      • 2023-01-07
      • 2018-12-23
      • 2017-05-08
      相关资源
      最近更新 更多