首页 > 解决方案 > 我如何在 Spring 中对 GET 请求使用复杂的验证条件

问题描述

假设我需要验证 GET 请求中的 @RequestParam 参数。验证是复杂的而不是基本的。例如,我希望日期 @RequestParam (value = "departureDate") @DateTimeFormat (pattern = "dd.MM.yyyy") LocalDate departureDate) 在指定范围内。我该如何实施?

对于 POST 请求,我可以编写自己的注解,其中我需要将请求类作为参数引用,在 GET 请求中我没有这个类,只有传入的 @RequestParam 参数。

对于 GET 的复杂验证示例,我将不胜感激。

标签: javaspringvalidationgetannotations

解决方案


在控制器端验证日期,如果日期不在特定范围内,则传递错误消息。

 SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
    LocalDate date1 = sdf.parse("30/01/2020");
    LocalDate date2 = sdf.parse("30/01/2021");
   int result = date1.compareTo(departureDate);
   if(result>0){
    //date1 is after departure date 
   }
 similarly, check both condition.

推荐阅读