Java中通过反射+自定义注解判断对象中部分属性是否为空,返回为空字段的名称或自定义含义

163 篇文章 ¥19.90 ¥99.00

场景

若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出:

若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出_霸道流氓气质的博客-优快云博客

在上面进行excel导入时,需要对数据进行非空校验。

比如对象中有多个属性,需要判断其中几个属性是否为空,为空则返回给前端提示。新建实体类,有如下字段

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class LimitQuotaStatistics extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 部门id */
    private Long deptId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

    /** 夜班人数
### API接口与data参数的区别及应用场景 #### 一、API接口的概念及其作用 API(Application Programming Interface),即应用程序编程接口,是一种允许两个多个软件组件相互通信的标准方法。它定义了一组规则和协议,使得不同的系统能够交互并共享资源[^3]。 在实际应用中,API 接口可以分为多种类型,例如 RESTful API 和 GraphQL API。这些接口通常通过 HTTP 协议传输数据,并支持 JSON XML 格式的响应。API 的主要用途在于提供一种标准化的方式让开发者调用远程服务的功能,而无需了解底层实现细节[^1]。 --- #### 二、Data 参数的作用及其特点 `data` 是指在请求体中传递的具体业务数据部分。当客户端向服务器发起 POST 请求时,可以通过 `data` 字段携带结构化信息,比如表单提交的数据者复杂的对象模型。以下是关于 data 参数的一些关键特性: - **形式多样**:它可以是一个简单的键值对集合,也可以嵌套多层复杂结构。 - **序列化方式**:常见的是以 JSON 格式编码后发送至服务器端解析处理。 - **具体实例**:假设有一个登录操作,则可能包含用户名 (`username`) 及密码字段(`password`)在内的整个 payload 都属于这里的 “data”。 对于某些特定场景下还需要注意区分 query string 中的查询条件与 body 内部真正意义上的实体属性差异之处[^5]。 --- #### 三、两者之间的对比分析 | 特性 | API 接口 | Data 参数 | |--------------------|---------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | 定义 | 提供对外服务能力的一系列 URL 路径组合 | 实际上传输的有效载荷 | | 功能定位 | 明确指定哪些动作可供外界访问 | 描述执行该动作所需输入的信息 | | 技术表现 | 包含路径、HTTP 方法(GET/POST etc.)以及必要的认证机制 | 主要体现为请求主体内的具体内容 | | 应用范围 | 广泛应用于前后端分离架构下的微服务体系 | 存在于每一次非 GET 类型的操作里 | 值得注意的是,在涉及到跨域资源共享(CORS)者是敏感信息安全防护方面,二者也有着紧密联系——合理配置 API 权限管理策略的同时也要保障所传入 data 不会被篡改泄露等问题发生[^4]。 --- #### 四、典型的应用案例解释 考虑这样一个例子:某电商平台需要为其用户提供商品详情页加载功能。此时会设计如下所示的一个简单版 API 设计方案: ```http GET /products/{id} Host: api.example.com Authorization: Bearer <access_token> Accept: application/json ``` 这里 `/products/{id}` 就是我们提到过的那个标准意义上面向用户的公开可用资源地址;然而如果想要完成购物车添加行为的话,则需要用到另一种形式表达意图: ```json POST /carts/add-item Content-Type: application/json { "product_id": 123, "quantity": 2 } ``` 在这个新增项目的过程中,“data”就对应于上述 json 对象内部各个成员变量代表的实际含义[^2]。 --- ### 结论总结 综上所述,虽然同属网络通信范畴之内的重要组成部分,但是它们各自承担的角色却截然不同。理解清楚这两者间的关系有助于更好地构建健壮可靠的分布式计算框架体系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值