前言:
前端技术框架层出不穷日新月异,很多公司都招了一些专业前端人员来编写页面,服务端只做好业务逻辑和数据存储。前后端分离使得各自更加专注自己善长的领域但也有很多不是所谓的坑等着我们。
问题:
公司服务端是通过springboot提供restful接口,前端是react js 通过http请求服务端。当接口参数是一个复杂对象通过对象传输服务端无法接收到对象中的值
案例一
接口:
参数:
问题:
evalAnswerDOs 始终是个空对象。
解决方案:
前端:1.设置http请求头 Content-Type:application/json; charset=utf-8
服务端:
接口参数 增加@RequestBody注解 表示接收的是一个Json对象, 增加consumes表示以当请求的HTTP 头是何种格式的时候进行应对
案例二
接口:
入参:
MerItemDO merItemDO 对象
String operatorId
String operatorName
问题:
operatorId 和operatorName 的值服务端能正常接收,merItemDO对象属性里面的值始终都是null
解决方案
第一种:
将3个参数封装成一个对象 如案例一通过 application/json的方式解决
第二种:
将 operatorId和 operatorName 当作 path 传入
前端
第一种: 见案例一
第二种: 前端无需改动
服务端
第一种:见案例一
第二种: