首页 > 其他分享 >controller接口返回的数据特殊修订字段

controller接口返回的数据特殊修订字段

时间:2023-12-07 17:33:46浏览次数:31  
标签:JsonProperty String 修订 private controller 接口 SerializedName value JsonInclude

1.对某些字段指定额外的返回值

核心是使用@JsonProperty("cluster_name") 注解来指定接口返回的时候数据解析的字段
@SerializedName注解是gson格式化输出和解析的时候用来解析的

package delta.api.domain;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
public class EsSlowLogDetail {

    /**
     * 集群名称
     */
    @JsonProperty("cluster_name")
    @SerializedName(value = "cluster_name")
    private String clusterName;


    /**
     * 当前写入记录ID
     */
    @JsonProperty("dataId")
    @SerializedName(value = "dataId")
    private String id;

    /**
     * 索引名称
     */
    private String index;

    /**
     * 日志级别,TRACE,DEBUG,INFO,WARRING,ERROR
     */
    private SlowLogLevel level;

    /**
     * 节点名称,执行当前慢操作的数据节点名称
     */
    @JsonProperty("node_name")
    @SerializedName(value = "node_name")
    private String nodeName;

    /**
     * 路由策略,Index慢日志中记录命中的路由策略
     */
    private String routing;

    /**
     * 搜索方式,Query慢日志中的搜索类型
     */
    private String type;

    /**
     * 搜索命中的分片号
     */
    private String shard;

    /**
     * 请求报文
     */
    private String source;

    /**
     * 结束执行时间,产生日志的容器本地时间(ES version >7 )
     */
    private Long timestamp;

    /**
     * 执行耗时/ms
     */
    @JsonProperty("took_millis")
    @SerializedName(value = "took_millis")
    private Long tookMillis;

    /**
     * 返回行数
     */
    @JsonProperty("total_hits")
    @SerializedName(value = "total_hits")
    private Long totalHits;

    /**
     * 命中分片数
     */
    @JsonProperty("total_shards")
    @SerializedName(value = "total_shards")
    private Integer totalShards;

    /**
     * 当前慢操作影响的类型列表,ES 2 以上的版本type 机制废弃,此字段无效
     */
    private String types;


}

2.controller接口返回给前端的时候对于null的特殊处理

核心是使用@JsonInclude(JsonInclude.Include.NON_NULL) 来过滤null值字段

@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
public class EsSlowLogRecord extends SlowLogRecord {

    @SerializedName(value = "log_content")
    private String logContent;

    private Long time;

    private SlowLogType slowLogType;

    private ResourceCategory resourceCategory;

    @JsonProperty("log_detail")
    @SerializedName(value = "log_detail")
    private EsSlowLogDetail logDetail;

}

如果想达到{}的效果,需要内嵌对象也使用@JsonInclude(JsonInclude.Include.NON_NULL) 修饰到类上

@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EsSlowLogDetail {

}

标签:JsonProperty,String,修订,private,controller,接口,SerializedName,value,JsonInclude
From: https://www.cnblogs.com/PythonOrg/p/17883488.html

相关文章

  • 如何获取家常菜谱的API接口
     随着人们对健康和美食的追求,越来越多的人开始自己在家烹饪,而获取家常菜谱是一个必不可少的环节。然而,我们并不总是能轻松找到适合自己口味的菜谱。而今日我们要介绍的数据源API接口,就是为了解决这个问题而诞生的。这个数据源API接口提供了各种不同场合、季节、年龄段、菜系等......
  • 台式电脑主板-前置面板接口
    ......
  • Springcloud学习笔记58--SpringBoot拦截全局异常统一处理(RestControllerAdvice注解)
    1. 应用场景如果和前端约定好使用固定的自定义格式返回参数,如下:{"code":200,"msg":"操作成功","data":{"equipment":55,"code":99,"point":2}}但在运行时发现了异常,默认的异常返回格式如下:......
  • 硬件开发笔记(十五):RK3568底板电路VGA显示接口原理图分析
    前言  前面输出了HDMI,LVDS,MIPI-DSI,这里还有一个常用的显示接口就是VGA了,这个用的不多了,一般板子都是hdmi了。  本篇分析底板VGA电路。<br>VGA接口  VGA(VideoGraphicsArray)视频图形阵列是IBM于1987年提出的一个使用模拟信号的电脑显示标准。VGA接口即电脑采用VGA标准输......
  • 淘宝详情API接口在电商行业中的重要性及实时数据获取实现
    一、引言随着电子商务的快速发展,电商平台上的商品数量呈现爆炸性增长。为了满足用户的需求,提供丰富、多样的商品信息,淘宝等电商平台推出了详情API接口。本文旨在探讨淘宝详情API接口在电商行业中的重要性,以及如何实现实时数据获取。二、淘宝详情API接口的重要性商品信息丰富化:通过......
  • Spring的后置处理器BeanPostProcessor接口的执行流程
    BeanPostProcessor的设计目标主要是提供一种扩展机制,让开发者可以在SpringBean的初始化阶段进行自定义操作。这种设计理念主要体现了Spring的一种重要原则,即“开放封闭原则”。开放封闭原则强调软件实体(类、模块、函数等等)应该对于扩展是开放的,对于修改是封闭的。在这里,Spring容......
  • 修订功能
    一、当别人发我们一篇文档时,我们可以在word中像老师批改学生作业那样进行修改,而且又不影响源文件在审阅---修订,启用修订功能后,就可以在word中进行修改,删除操作,并进行标记,如下:审阅---所有标记: 审阅--简单标记: 审阅--无标记或原文件,二、当别人修改了后文档,我们不一定全部......
  • Java Spring Boot controller的使用之参数解析
    SpringBoot作为Java中广受欢迎的框架,其controller的使用必须掌握了解,本篇的学习将从以下几个方面展开:动态URL组路由参数解析Restfulcontroller本篇假设你已经了解SpringBoot开发的基本流程,以下示例主要从controller角度学习。1.动态URL说到此,做过web开发的......
  • 微信群控接口
    请求URL:http://域名地址/scanJoinRoom请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识url是string群二维码url(二维码解析后的url)type否int操作类型,默认00:......
  • Multi Fabrics/Admin - How to add the second controller to end device.
    HardwareRequired•  RaspberryPi4•  2xSilabsThunderboardSense2(TBS2--BRD4166A)•  AUbuntuLinuxdevelopmentenvironmentoraVirtualMachineused tobuildtheMatterenddevicefirmware.ConnectionsRequired•  Ethernet......