首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自定义注解判断参数为空

最近在项目中遇到了一个小小的问题,和大家分享一下,简单的接口但是在不同的业务场景下需要有不同的校验逻辑,有的参数在特定的场景下需要校验,有的参数在另外的场景下则不需要校验。...interface MetadataValidation { /** * 错误信息 * @return */ String message() default "参数不能为空...log.error("Validation验证起数据解析失败:{}", e.getMessage()); } }); } /** * 非空判断...但是在我们的业务场景中多个参数接口使用的参数类是同一个,所以使用Spring的@Valid和@Validated自然是不行了。...其实换种想法也不是不可以那就是检验参数的再新建一个类,我觉得完全没必要,因为这样很容易就造成类爆炸。不知你是怎么样呢。欢迎评论。

23110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一个值得深思的小问题 - 请求中的参数值为空要不要携带该参数?

    我这朋友的问题是这样的,前端请求接口,带过去了一些参数,但是其中有个参数没值,也就是空,但是呢后端在接收该值的时候没有类型判断(该字段是int类型),相当于直接把一个空字符串直接转为int类型。...比如,请求参数如下 name=bigerfe&age=&a=1 其中参数age是int类型,但是前端传了空,后端取参数的时候报错了。...然后要出一个传参规范,声明string类型的字段如果值为空串的,请求的时候就不要携带该参数。其他类型的会给一个默认值。...接口规范中为每个字段说明其类型,并且给出默认值 服务端做统一的类型验证,不符合的直接给出错误码 那是被什么样的问题给拍回去了呢? 如果这个字段是必填的,而且是空串,那这个字段可以带吗?...比如我在后台要修改某个人的信息,改为空,怎么办?走不通了吧! 好了,别的不多说了,可能还有其他的场景,大家可以留言来讨论。 最后,有时候我们可能觉得某些方案不合理,但是一时也想不出去为什么不合理?

    3.3K20

    【JavaScript】内置对象 - Date 日期对象 ① ( Date 对象简介 | 使用构造函数创建 Date 对象 | 构造函数参数为时间戳 | 构造函数参数为空 | 构造函数参数为字符串 )

    year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]); 二、使用构造函数创建 Date 对象 1、构造函数参数为空...创建 Date 内置对象 , 参数为 时间戳 var date = new Date(0); // 打印创建的 Date 对象 // 输出 : Thu...// 输出 : Sun Dec 17 1995 03:24:00 GMT+0800 (中国标准时间) console.log(date); 执行结果 : 4、构造函数参数为多个数字值 使用...创建 Date 内置对象 , 参数为空 var date = new Date(); // 打印创建的 Date 对象 // 输出 : Fri Apr...创建 Date 内置对象 , 参数为 时间戳 date = new Date(0); // 打印创建的 Date 对象 // 输出 : Thu Jan

    50210

    前端(以Vue为例)webpack打包后dist文件包如何部署到django后台中

    由于现在前端使用的三大框架配合webpack可以实现快速打包,为部署到服务端提供了非常大的便利,那么在前端打包后,应该做些什么可以部署到django的后台中呢?...1.打包后文件包dist 进入到 dist文件包会发现是这个样子的: 2.在django项目中创建前端文件包(静态资源包,我习惯起名为frontend)         然后把dist文件包中的static...做完这些后吧static这个空文件包删掉就行了。这样就形成了django后台的静态文件包。...$',views.index,name="index")设置后,启动django,访问8000端口就可以加载到前端的路由了 或者,直接在url中加入: from django.views.generic

    3.3K20

    【Kotlin】扩展函数 ② ( 扩展属性 | 为可空类型定义扩展函数 | 使用 infix 关键字修饰单个参数扩展函数的简略写法 )

    文章目录 一、扩展属性 二、可空类扩展 三、使用 infix 关键字修饰单个参数扩展函数的简略写法 一、扩展属性 ---- 上一篇博客 【Kotlin】扩展函数 ( 扩展函数简介 | 为 Any 超类定义扩展函数...---- 之前讲的定义扩展函数 , 扩展属性 , 都是为 非空类型 定义的 , 如果要为 可空类型 定义扩展函数 , 则需要在 扩展函数 中 处理时 , 要多考虑一层 接收者 this 为空 的 情况...; 注意下面的调用细节 : 如果定义的 扩展函数 是 为 非空类型定义的 , 可空类型变量 想要调用该 扩展函数 , 在调用时使用 " ?....非空类型扩展函数 如果定义的 扩展函数 是为 可空类型定义的 , 可空类型变量 想要调用该 扩展函数 , 在调用时直接使用 " . " 进行调用即可 ; 可空类型实例对象.可空类型扩展函数 代码示例...123abc this = null, string = abc, 接收者为空 abc 三、使用 infix 关键字修饰单个参数扩展函数的简略写法 ---- 如果 扩展函数 只有 一个参数 , 并且在

    1.9K30

    C# 实现访问 Web API Url 提交数据并获取处理结果

    我们常见的模式是访问 Web API Url 地址,POST 或 GET 所需要的参数数据,并获取 Json 、XML或其它指定格式的处理结果。...GetResponseResult 方法提供了访问 Web API Url 的能力,方法返回字符串(即API返回的处理结果),另外WebService 类还提供了 ErrorMessage 属性,通过访问此属性是否为空以判断方法是否正确返回了处理结果...return ""; } } Stream outstream = null; Stream instream...Response.Write(resultStr); } 其它 我们在 WebService 类里创建了另一个实用方法:DownLoadFile,即提供对应的下载地址可以指定下载到本地文件,方法返回字符串(为空表示下载成功...,不为空则显示错误信息)方法的使用说明见如下表格: 序号 参数名 类型 说明 1 url string 要下载的URL地址 2 localfile string 要保存的本地完整路径地址 实现代码如下

    16010

    利用WCF改进文件流传输的三种方式

    这种编码是为那些包含大量的二进制数据的SOAP消息而做的,它是把数据流作为SOAP消息的附件而添加的。所以利用这种编码在传输信道之间传输可以显著提高传输性能。...在WCF中MTOM模型的操作契约中只能使用单个Stream对象作为参数或者返回类型。 ?...这种模型的特点如图所示: 1.1实现服务契约 服务契约是服务所支持的操作、使用的消息交换模式和每一则消息的格式,它控制消息被格式化的方式,在这里由于要使用MTOM编码消息,所以在操作契约中必须要以单一的Stream对象为输入输出参数...,主要的方法的目的是为了传输Stream对象,由于Stream是一个抽象类,所以这儿以文件流为操作对象来使用SendStream()这个方法。...并在这些方法完成后服务调用客户回调ReportFileUpload()报告给客户端相应的信息。

    1.4K60
    领券