为所有的Controller里接口返回的参数中的温度字段值保留一位小数

本文介绍了如何在后端处理接口返回数据时,利用@JsonSerialize注解和AOP切面编程来保留温度字段值的一位小数。首先,展示了通过自定义JsonSerializer类实现数据格式化,然后详细讲解了如何配置AOP切入点,并使用@AfterReturning注解拦截返回参数,通过反射检查并处理temperature字段。
摘要由CSDN通过智能技术生成

这里今天用了两种方法来实现:一、使用@JsonSerialize注解;二、使用AOP拦截返回的参数;
一、使用@JsonSerialize注解:
我们做后端平时经常要对字段进行数据格式校验,但是又是一些重复的代码,若使用工具类,代码会显得很冗余。其实还可以使用@JsonSerialize注解来自定义数据校验。
首先创建一个类其继承JsonSerializer抽象类。并重写serialize方法–里面放处理逻辑。代码如下:

import cn.aiaudit.utils.StringUtils;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;

/**
 * @author Arthorn2
 * @version 1.0
 * @date 2020/3/17 13:45
 *
 * :温度保留一位小数
 * JsonSerializer<?>是针对出参即get方法
 * JsonDeserializer<?>是针对入参即set方法。
 */
public class temperatureSerialize extends JsonSerializer<String> {
   //这里对应的是字段的类型
	//s是字段的值
    @Override
    public void serialize(String s, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
   
       if (StringUtils.hasLength(s)){
   
       //保留一位小数,默认是不会出现字母或其他特殊字符。
            jsonGenerator.writeString(String.format("%.1f",Double.valueOf(s)));
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值