HTTP接口JSON数据返回被截断或者JSON解析异常问题

目前碰到过两种情况,一种是服务端返回JSON格式,但是客户端接受到的JSON数据被截断,可以把JSON数据拷贝到文本文件,可以明显看到JSON被截断的情况,处理方法在Nginx中配置如下:

fastcgi_buffers 8 4K;
fastcgi_buffer_size 4K;

fastcgi_buffers 控制 nginx 最多创建 8 个大小为 4K 的缓冲区,而 fastcgi_buffer_size 则是处理 Response 时第一个缓冲区的大小,不包含在前者中。所以总计能创建的最大内存缓冲区大小是 8*4K+4K = 36k

第二种情况是服务端已经返回所有JSON数据,但是解析不了,这种情况一般是返回的JSON数据解析异常,可以拿一些JSON工具查看是否返回的JSON格式问题,当前JAVA项目中的一个swagger注解导致:

//异常的swagger注解,这种写法会返回数据,但是客户端解析不了,导致swagger文档不能生成
@Schema(example="[a,b]")

//正确的做法
@Schema(example="[\"a\",\"b\"]")  OR @Schema(example="a,b")


example属性作用是在swagger文档上注解所在的属性的使用示例

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值