后端如何正确接收Long类型的数据,且防止前端随便输入字符串-灵析社区

饼干爱折腾

在后端接收并验证`Long`类型的数据,同时防止前端随意输入字符串造成类型错误,我们可以使用一套完整的校验机制来确保收到的数据符合预期。 1. **前端输入校验**: 在前端,使用JS等技术进行初步校验,确保传递给后端的字段如`businessId`等只包含数字,且符合`Long`类型的限制。这可以通过正则表达式或现成的前端库来实现。 2. **后端注解校验**: 后端Java代码中使用Java Bean Validation(例如`javax.validation.constraints`系列中的注解)进行验证,对`Long`类型的数据,特别注意以下几点: - 使用`@NotNull`确保字段不为空。 - 使用自定义注解或者`@Pattern`(配合字符串)来定义允许通过的格式。 3. **请求处理层转换**: 确保在Spring或其他MVC框架的控制器中收到参数时,参数能够自动转换为`Long`。Spring Boot等框架通常会自动处理这种类型转换,但可以通过配置或自定义转换器进行控制。 4. **异常处理**: 增加异常捕获机制,当输入不符合`Long`类型约束时,抛出特定的异常并返回给前端有意义的错误信息。 示例代码部分: ```java import javax.validation.constraints.NotNull; public class CommunityManageV1Req { @NotNull(message = "操作业务id不能为空") private Long businessId; @NotNull(message = "操作业务类型不能为空") private Integer businessType; @NotNull(message = "操作状态不能为空") private Integer optStatus; private String optUserName; @NotNull(message = "操作人ID不能为空") private Long optUserId; // Getter和Setter省略 } ``` 5. **日志记录**: 在后端对每一个请求异常记录日志,以便排查和修正数据校验问题。 通过这几个步骤,我们可以确保后端能够正确接收和验证`Long`类型数据,并有效防止不良或意外输入对系统的影响。

阅读量:1

点赞量:0

问AI