问题描述:
后台管理系统中对某一个模块进行新增和删除操作时,对必填字段的校验完全依赖前端判断,导致接口测试时出错
解决方案:
编码时秉持前后端互不信任的原则对相应的字段进行校验,增删改操作尤为重要。
新建资源文件
使用线上中文转ASCII码获取ASCII码即可
product.companyId=\u4f01\u4e1a
product.productName=\u4ea7\u54c1\u540d\u79f0
company.companyName=\u4f01\u4e1a\u540d\u79f0
company.industryCluster=\u4ea7\u4e1a\u96c6\u7fa4
通过getResString方法拿取资源文件的信息
protected String getResString(String key) {
// TODO Auto-generated method stub
String str = "";
try {
str = super.getResString(key);
} catch (MissingResourceException e) {
str = BundleUtil.getLocaleString(key, "net.com.product.resources.resources");
}
return str;
}
public ResultData edit(CyCompany cyCompany) {
//校验必填字段:企业名称
if (StringUtils.isBlank(cyCompany.getCompanyName())) {
return ResultData.build().error(getResString("err.empty",super.getResString("company.companyName")));
}
//校验必填字段:产业集群
if (StringUtils.isBlank(cyCompany.getIndustryCluster())) {
return ResultData.build().error(getResString("err.empty",super.getResString("company.industryCluster")));
}
}
外层的getResString拿到的是定义的错误信息为key
通过以上方法我实现了后台对参数的校验
(初次接触,若有操作不当之处,请多多指教啦)