首页 > 其他分享 >POSTMAN 使用时的一个坑

POSTMAN 使用时的一个坑

时间:2022-10-29 12:33:13浏览次数:51  
标签:postman 一个 price 小数点 接口 使用 小数 BigDecimal POSTMAN


在 java web 的日常开发工作中,别告诉我你还没有使用过类似 postman 这样的接口请求测试工具。

我目前 Mac 开发平台使用最多的几个工具就是 Intellij IDEA,postman,Chrome,Sublime 3,Sequel pro,DataGrip。

闲话不多说,进入正题,现在在一家互联网金融公司打杂(写接口,与数据库打交道,CRUD,强业务支撑,复杂的业务逻辑)。提到金融,难免有涉及到金额的时候;既然是金额,小数点后保留两位:这种显示需求不要太多。甚至还有遇到显示小数点后低位的需求。

至于 java 里面怎么实现2位小数,网络资源无数。其中 BigDecimal虽说性能消耗较大,但是在金融行业是比较推崇的数据类型。

下面的input.getSoldPrice() 得到的数据不一定是2位,通过 BigDecimal.setScale()方法即可实现。

new BigDecimal(input.getSoldPrice()).setScale(2, BigDecimal.ROUND_HALF_UP)

写好接口后,然后使用 postman 自测,可以看到下面的第二个数据 price 并不是2位小数。难道 BigDecimal 有问题?持续懵逼中。转而甚至考虑换用其他实现方法去展示2位小数。最终在 postman 的自测页面得不到期望的数据  price=179.00,totalPrice=358.00。要疯。

静下心来,代码调试,然后才发现调试时显示的 price=179.00,没有问题,可是最后在 postman 页面看到的结果却不是带有2位小数,而是一个整数。

妄自菲薄的我,还没有到怀疑一切的地步,接口神器 postman 给我的工作效率也是大幅提升。断断是不敢相信 postman 有什么问题;

POSTMAN 使用时的一个坑_数据

无奈之下,把接口的方法换成 GET,使用 Chrome 浏览器,执行同一个请求。

然后发现,这尼玛才是真相:

POSTMAN 使用时的一个坑_java_02

看到此图,才知道 postman 把小数点后面的数字省略掉,显示为整数

尼玛,害我浪费2个多小时。



标签:postman,一个,price,小数点,接口,使用,小数,BigDecimal,POSTMAN
From: https://blog.51cto.com/u_15851118/5806027

相关文章

  • php学习笔记二:第一个php程序 hello world!
    第一个php程序helloworld!前提条件:已经安装xampp和phpstorm xampp安装到了D:\xampp1打开phpstorm2新建项目保存项目到 D:\WorkTest\Php3添加index.php文件4......
  • node.js:中间件的使用
    node.js中间件是一种功能的封装方式,就是封装在程序中处理http请求的功能。当一个需求多地方用到时,中间件可以提高代码效率及页面简洁那么如何使用中间件呢?中间件的书写和......
  • 使用数据结构中的队列解决舞伴搭配问题
    ​ (一)问题描述某班有m个女生,n个男生(m不等于n,男女生人数和不能小于20),现要举办一个舞会,男女生分别编号坐在舞池两边的椅子上等待。每曲开始时,依次从男生和女生中各出一......
  • C#使用线程和线程同步
    操作系统由多个进程的运行来维持的,进程又被细化为线程(Thread)。一个完整的进程拥有独立的内存空间,同一个进程内的线程是共享内存空间和数据。在C#中线程使用委托的方式来完......
  • 动态规划-746. 使用最小花费爬楼梯
    题目描述给你一个整数数组cost,其中cost[i]是从楼梯第i个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为0或下......
  • 解决IDEA 【alt + insert快捷键】不能使用的原因,亲测,可用!!!!
    解决IDEA【alt+insert快捷键】不能使用的原因,亲测,可用!!!!原因一:缺少插件:File——Settings——Plugins——Installed——》搜索groovy——》勾选紫色的框中两个插件,我检查了......
  • logrotate 使用
    背景项目部署中需要对日志文件定时清理,最简单的方法就是使用linux的logrotate工具。rotate的本意是循环、轮转、轮值的意思,加上log,就很好理解了。国外的程序员起......
  • Mockito使用方法(Kotlin)
    一、为什么要使用Mockito1.实际案例1.1遇到的问题对于经常维护的项目,经常遇到一个实际问题:需求不停改变,导致架构经常需要修改某些概念的定义。对于某些十分基础又十分......
  • C/C++ struct结构体的三种使用方法
    #include<stdio.h>#include<string.h>#include<stdlib.h>#include<iostream>#include<conio.h>usingnamespacestd;structhero{charname[16];ch......
  • (文件操作) 编程实现保存n行字符串内容到文本文件W_ANSI(GBK).txt中(该文件内容按GBK格式
    样例输入2汉字ABC 样例输出文件内容:[b'\xba\xba\xd7\xd6\r\n',b'ABC\r\n'] 样例输入3汉字ABCabc 样例输出文件内容:[b'\xba\xba\xd7\xd6\r\n',b......