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

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

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

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

88510

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.3K41

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

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

1.7K40

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

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

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];//回空数组

81830

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.4K20

总结MySQL和Oracle语法区别

文章目录 1、时间函数 2、0 3、长度函数 4、条件函数 5、trunc()函数 6、字符串整型转换函数 7、引号 8、字符串连接符 9、数据排序 10、表(左/右)关联 11、merge into...nvl2:nvl2函数是nvl函数拓展,基本语法nvl2(E1,E2,E3),意思是E1null,就返回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.5K20

优雅判

如果可以控制你调用代码(当然常常还是有控制权),那就是另一回事儿了。还是尽量不去使用null返回值。对于返回集合方法很简单,只需要返回空集合就可以了,而不是null。...如何优雅判 NULL Object 设计模式 Nullable是对象相关操作接口,用于确定对象是否,因为在对象模式中,对象会被包装成一个Object,成为Null Object,该对象会对原有对象所有方法进行实现...… Optional 1、Optional.ofNullable(test),如果test返回一个单例Optional对象,如果返回一个Optional包装对象,Optional将test...包装; 2、flatMap(Test::getTest3)判断test是否如果,继续返回第一步中单例Optional对象,否则调用TestgetTest3方法; 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单元格值但没有被判定。)代码错误就产生了。 ---- 本节主要介绍了单元格常见方法,包括复制、剪切、清除和删除等。

1.9K40

PerfDog常用小技巧

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

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

31400

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。

28120
领券