首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    我这朋友的问题是这样的,前端请求接口,带过去了一些参数,但是其中有个参数没值,也就是空,但是呢后端在接收该值的时候没有类型判断(该字段是int类型),相当于直接把一个空字符串直接转为int类型。...比如,请求参数如下 name=bigerfe&age=&a=1 其中参数age是int类型,但是前端传了空,后端取参数的时候报错了。...但是后端理解的不太一样了,希望前端如果是没值的这种字段,就直接不要拼接到参数里,这种空串对于我们来说是没意义的,没意义的就不需要拼接了。...然后要出一个传参规范,声明string类型的字段如果值为空串的,请求的时候就不要携带该参数。其他类型的会给一个默认值。...接口规范中为每个字段说明其类型,并且给出默认值 服务端做统一的类型验证,不符合的直接给出错误码 那是被什么样的问题给拍回去了呢? 如果这个字段是必填的,而且是空串,那这个字段可以带吗?

    3.3K20

    Java注解(批注)的基本原理

    JSR-175 的目标是在 Java 语言中提供元数据工具。 批注 一种特殊的 Java 结构,用来修饰类、方法、字段、参数、变量、构造器或包。它是 JSR-175 选择用来提供元数据的工具。...@Retention则标注了自定义注解的信息要保留到哪个阶段,分别对应的value取值为SOURCE →CLASS→RUNTIME。...(Class annotationClass); // 返回该元素上的所有注解,如果没有任何注解则返回一个空数组 Annotation[] getAnnotations(); // 返回指定类型的注解...,如果没有返回空数组 T[] getAnnotationsByType(Class annotationClass) // 返回指定类型的注解,如果没有返回空数组,只包含直接标注的注解,不包含inherited...T[] getDeclaredAnnotationsByType // 返回该元素上的所有注解,如果没有任何注解则返回一个空数组,只包含直接标注的注解,不包含inherited的注解 Annotation

    92010

    Excelize 2.2.0 发布, Go 语言 Excel 基础库

    Release Notes 此版本中最显著的变化包括: 新增功能 下列 API 的参数将使用工作表索引代替工作表 ID: GetSheetName、GetSheetIndex、GetActiveSheetIndex...,相关 issue #582 函数 AddPivotTable 支持设置数据透视表的筛选项,相关 issue #598 函数 AddPivotTable 支持数据透视表中的值、行或筛选项为空 导出函数...时间格式转换为 time.Time 数据类型 导出 Style 结构体,允许通过结构体指针或 JSON 字符创建样式,相关 issue #470 问题修复 修复当使用 SetConditionalFormat 为单元格设置条件格式时...issue #200 修复通过 GetComments 获取批注式部分批注数据无法获取问题,解决 issue #345 修复特定情况下通过 GetCellValue 获取单元格值错误问题,解决 issue...#602 修复因某些情况下文档内部行内单元格缺少 r 属性而导致的 GetCellValue 错误地返回空值问题 兼容单元格样式中的空值与默认值,修复部分情况下通过电子表格软件打开生成文档修改样式失效的问题

    2.4K41

    一起学Excel专业开发13:Excel工时报表与分析系统开发(1)

    下图1是PETRAS应用程序的第一个版本的用户界面。 ? 图1 PETRAS应用程序运用的技术有:预定义名称、不同区域使用不同样式、格式化技术、批注、数据验证、条件格式,等等。...隐藏行和列 将用于错误检查和后台数据处理的行和列隐藏起来,不让最终用户看见。如下图2所示的列A、列B、列D和列E,以及行1。 ? 图2 其中,列A和列B为前面文章介绍的程序列,用于错误检查。...单元格批注 单元格批注帮助用户了解该单元格和相关单元格的作用,提示用户正确的操作,上图2中右上方有红色小三角形的即为含有批注的单元格,当光标移动到该单元格上时会自动显示批注信息,其中一个单元格批注如下图...$K7 可以看出,这些定义名称的行引用是相对引用,而列引用是绝对引用。 2.公式表明,如果当前行中输入的数据少于6个,则返回空字符串,即当前行中的数据未全部输入时,不允许计算总时间。...当前行中所需数据全部输入完成后,还需要对开始时间和结束时间进行比较;当结束时间大于开始时间时,表明这两个时间在同一天,直接用结束时间减去开始时间得到工作时间;如果结束时间小于开始时间,则表明工作开始于前一天

    1.8K40

    避免Java应用程序中NullPointerException的技巧和最佳实践

    如果调用者为空,则此调用的一个副作用就是可能导致NullPointerException。...4、避免从方法中返回null,而应返回空集合或空数组 Joshua Bloch在他的书《Effective Java》中也提到了Java最佳实践或技巧,从这本书中你将获得更多的Java编程技巧。...通过返回空集合或空数组,您可以确保基本调用(如size(),length())不会因NullPointerException异常而失败。...现代的编译器,IDE或工具可以读取此批注并帮助您进行缺失的空检查,或者可以通知您不必要的空检查,这会使您的代码混乱。 IntelliJ IDE 和FindBugs的已经支持这种注释。...6、避免在代码中预先的自动装箱和拆箱 尽管存在其他缺点,例如创建临时对象,但如果包装类对象为null,则自动装箱也容易发生NullPointerException 。

    1.1K50

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

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

    1.9K30

    剑指offer | 面试题25:从上到下打印二叉树

    算法流程: 特例处理: 当树的根节点为空,则直接返回空列表 [] ; 初始化: 打印结果列表 res = [] ,包含根节点的队列 queue = [root] ; BFS 循环: 当队列 queue...* * add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常 * remove 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException...异常 * element 返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常 * offer 添加一个元素并返回true 如果队列已满,则返回false...* poll 移除并返问队列头部的元素 如果队列为空,则返回null * peek 返回队列头部的元素 如果队列为空,则返回null * put 添加一个元素 如果队列满,则阻塞 * take 移除并返回队列头部的元素...*/ public int[] levelOrder(TreeNode root) { if (root == null) return new int[0];//空树则返回空数组

    85730

    Java注释:您想知道的一切

    例如,假设注释类型作者定义了修订的默认值(默认为1)和审阅者(默认为空的String数组),则以下两个注释声明是等效的: @Author(name = "Roland", created...Java语言使用的注释类型 在java.lang中定义的预定义注释类型为@ Deprecated,@ Override和@SuppressWarnings。 1....如果标有@Override的方法未能正确覆盖其父类之一中的方法,则编译器将生成错误。 3....@SafeVarargs @SafeVarargs批注应用于方法或构造函数时,声明该代码不会对其varargs参数执行潜在的不安全操作。...ElementType.PARAMETER可以应用于方法的参数。 ElementType.TYPE可以应用于类的任何元素。 4. @继承 @Inherited批注指示批注类型可以从超类继承。

    1.5K10

    Redis与Python进行交互

    , db=0) 简写 sr=StrictRedis() 根据不同的类型,拥有不同的实例⽅法可以调⽤,与前⾯学的redis命令对应,⽅法需要的参数与命令的参数⼀致 string set setex mset...(e) string-获取 ⽅法get,添加键对应的值,如果键存在则返回对应的值,如果键不存在则返回None 编写代码如下 from redis import * if __name__=="__main...,否则则返 回0 编写代码如下 from redis import * if __name__=="__main__": try: #创建StrictRedis对象,与redis...服务器建⽴连接 sr=StrictRedis() #设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加 result = sr.delete...服务器建⽴连接 sr=StrictRedis() #获取所有的键 result=sr.keys() #输出响应结果,所有的键构成⼀个列表,如果没有键则返回空列表

    1.5K20

    总结MySQL和Oracle的语法区别

    文章目录 1、时间函数 2、空值返0 3、长度函数 4、条件函数 5、trunc()函数 6、字符串整型转换函数 7、引号 8、字符串连接符 9、空数据排序 10、表(左/右)关联 11、merge into...nvl2:nvl2函数的是nvl函数的拓展,基本语法为nvl2(E1,E2,E3),意思是E1为null,就返回E3,不为null就返回E2。...IFNULL:基本语法为IFNULL(E1,E2),假如E1不为NULL,则返回值为E1,否则为E2。 COALESCE:COALESCE(value,…)是一个可变参函数,可以使用多个参数。...作用:接受多个参数,返回第一个不为NULL的参数,如果所有参数都为NULL,此函数返回NULL;当它使用2个参数时,和IFNULL函数作用相同。...case when then else end:如果value等于if1,则返回val1,如果value等于if2,则返回value2…如果value等于ifn,则返回valn,否则返回val。

    1.7K20

    优雅判空

    如果可以控制你调用代码(当然常常还是有控制权的),那就是另一回事儿了。还是尽量的不去使用null返回值。对于返回集合的方法很简单,只需要返回空的集合就可以了,而不是null。...如何优雅判空 NULL Object 设计模式 Nullable是空对象的相关操作接口,用于确定对象是否为空,因为在空对象模式中,对象为空会被包装成一个Object,成为Null Object,该对象会对原有对象的所有方法进行空实现...… Optional 1、Optional.ofNullable(test),如果test为空,则返回一个单例空Optional对象,如果非空则返回一个Optional包装对象,Optional将test...包装; 2、flatMap(Test::getTest3)判断test是否为空,如果为空,继续返回第一步中的单例Optional对象,否则调用Test的getTest3方法; 3、flatMap(Test3...类型,而map不需要,flatMap不会多层包装,map返回会再次包装Optional; 5、orElse("");获得map中的value,不为空则直接返回value,为空则返回传入的参数作为默认值。

    1.3K30

    Range单元格对象常用方法(一)

    (这里目的区域只写最左上角的单元格即可。) 如果还对之前对象方法篇概述有印象的话,对象的方法后通常跟参数的,而这里copy方法后直接跟目标单元格位置。 这里其实是省略了destination参数。...单元格对象的剪切方法的格式为:源单元格区域.cut 目标单元格区域(最左上单元格即可) 同样cut方法代码也可以省略destination参数。目标单元格区域只写最左上的单元格即可。...,然后循环从最一行向上进行IF判断,当单元格为空值时,删除整行循环结束。...来分析演示下: 改成从上向下单元格循环后,执行代码结果有一个空单元格没有删除掉,通过代码分析下,当i=4时,A4单元格为空符合条件,这时第4行删除。(这时的结果是原本的第5行变成了第4行,为空值)。...而此时代码已经进入下一个循环i=5,判断A5单元格是否为空值。(新的A4单元格为空值但没有被判定。)代码的错误就产生了。 ---- 本节主要介绍了单元格的常见方法,包括复制、剪切、清除和删除等。

    2.1K40

    PerfDog常用小技巧

    鼠标左键双加添加批注 批注及标定(鼠标左键双击,则批注。左键双击已生成的批注,则取消。...鼠标左键单击,则标定): 2.场景添加标签 为了更加明显区分我们的 测试场景,我们可以对阶段时间增加标签, 通过标签按钮给性能数据打标签,鼠标左键双击颜色区域可修改对应区域标签名 11.png...这里有两个隐藏的小技巧 技巧一,重载历史数据: 1)首先我们有一个空数据的Perfdog 2)我们有之前的EXCEl数据 3)重点来了,拖拽选中的Excel数据进PerfDog 4)Get...【自由拖动】 自由拖动图表的时间轴编辑将会对所有图表生效,操作方式是将鼠标悬浮在某条用例上,该条用例出现悬浮状态,左键长按可以进行左右拖动,松开则位置确定,可以重复操作,需要先点击自由拖动按钮哦 对比功能很好地解决了之前无法为同类软件间...、同一应用的多次数据做性能参数对比的问题。

    1.1K30

    【每日函数】每日函数(2021.08.12)

    ,如果没有搜索到则返回false 说明 array_search(mixed $needle, array $array, bool $strict = false) : mixed 参数 needle...说明 array_shift(array $array) : array 参数 array需要操作的数组 返回值 返回移除的数组的元素值,如果数组是空,则返回null 范例 $array = [...,则返回空数组,结束位置在开始之前,也返回空数组 array_splice4 替换数组中的一部分 说明 array_splice(array &$array, int $offset, int $length...,则从距离结尾的地方开始 length替换结束的位置,如果是正数,则是数组需要替换的个数,如果是负数,则停止于距离结尾该数量的位置 replacement替换的变量,去掉的部分将被这个变量替换,如果为空则不替换...15 特别说明 如果数组中存在对象或者非数值型的值,则都按照0计算,空数组的求和是0

    33100

    SAP HANA SQL 字符串函数

    如果 original_string 为空, 则返回值也为空。 如果 original_string 中两个重叠的子字符串与 search_string 匹配,只有第一个会被替换。...如果 str 不包含 pattern 子字符串,则返回空字符串。 如果 pattern 为空字符串,则返回 str。 如果 str 或者 pattern 为 NULL,则返回 NULL。...如果 str 不包含 pattern 子字符串,则返回空字符串。 如果 pattern 为空字符串,则返回 str。 如果 str 或者 pattern 为 NULL,则返回 NULL。...如果 start_position 小于 0,则被视为 1。 如果 string_length 小于 1,则返回空字符串。...如果 str 或者 trim_char 为空,则返回 NULL。 如果没有指定可选项,TRIM 移除字符串 str 中两端的子字符串 trim_char。

    38620
    领券