用实体接参数时,属性类型是Double,前端传NaN会报错,做了简单处理,记录一下,当然前端不传NaN就更好了…
package cn.edu.oa.jsonSerializer;
import cn.micro.framework.exception.BusinessException;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import org.apache.commons.lang.StringUtils;
import java.io.IOException;
import java.lang.reflect.Field;
public class NaNDeserializer extends JsonDeserializer {
@Override
public Object deserialize(JsonParser jsonParser, DeserializationContext ctxt) throws IOException, JsonProcessingException {
try {
if (jsonParser != null && StringUtils.isNotEmpty(jsonParser.getText())) {
if (jsonParser.getText().equals("NaN")) {
return null;
} else {
String currentName = jsonParser.getParsingContext().getCurrent

本文记录了一个后端遇到的问题,即当前端传递NaN给Double类型的属性时,会导致后端报错。作者提出了一种简单的处理方案,并建议前端避免传递NaN。
最低0.47元/天 解锁文章
4053

被折叠的 条评论
为什么被折叠?



