java - 我如何在 Spring 中对 GET 请求使用复杂的验证条件
问题描述
假设我需要验证 GET 请求中的 @RequestParam 参数。验证是复杂的而不是基本的。例如,我希望日期
@RequestParam (value = "departureDate") @DateTimeFormat (pattern = "dd.MM.yyyy") LocalDate departureDate)
在指定范围内。我该如何实施?
对于 POST 请求,我可以编写自己的注解,其中我需要将请求类作为参数引用,在 GET 请求中我没有这个类,只有传入的 @RequestParam 参数。
对于 GET 的复杂验证示例,我将不胜感激。
解决方案
在控制器端验证日期,如果日期不在特定范围内,则传递错误消息。
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.
推荐阅读
- asp.net-core-mvc - ASP.NET Core MVC 在局部视图/ViewComponent 中提交表单
- c++ - 在代码块 (C++) 中调试时,我可以选择跳过所有打开的内部库调用和函数吗?
- python - 三元图作为子图
- git - 如何使用 git diff 作为 difftool?
- python - Python + Scrapy + JSON + XPath:如何使用 Scrapy 抓取 JSON 数据
- unity3d - Unity offscreen target indicator-how to show the way to an object with a specific tag?
- css - 我找不到适用于此滑块的 css 类
- model-checking - NuSMV:如何排除可能的下一个状态
- javascript - 在不使用多个循环的情况下按标题查找重复数组
- r - 在一行中搜索 r 中的一系列值