对于应用程序入参的校验,可以说在任何时候都很重要,既可以保证应用程序的数据安全,又可以提高用户体验,防止不必要的无响应情况产生,那么。。。
在哪些场景下,你会进行入参数据校验的呢?
通常情况下,对于管理端项目,往往倾向于前端页面校验+后端入参数据检验双重验证,如果是内部系统的话那么没有外部人员访问,只进行前端页面校验也是可以的。
对于API接口项目,不管调用API接口的客户端是否进行入参数据校验,后端服务项目在接收到入参时都需要进行参数校验,以保证入参的合法性。
总的来说,工期允许的话,尽可能充分的入参校验可以保证您的系统稳定运行,同时保证程序的健壮性和应对非正常请求时的稳定性。
如何优雅的进行入参数据校验?你有哪些处理方式?
说到入参校验,最简单最传统最一目了然的方式可以说就是if-else了,就像这样
但是当入参比较多的时候,如果还是采用if-else的方式校验参数,那么代码量和可阅读性就会变得很差。
那么当一个方法接受很多必传参数时,那么我们可以通过注解的形式(比如 @RequestParam)来对入参进行校验,从而简化代码,提高代码的可读性
当然除了@RequestParam还有很多入参校验的注解,比如@NotEmpty @NotBlank @NotNull 等
或者也可以通过拦截器的方式来对公共参数进行统一校验,这样也可以减少业务逻辑代码的耦合性和代码量。自定义注解的方式也可以考虑,通过对不同形式的入参校验,返回不同的提示信息方便快速定位问题,这些都是可以的。