restful 接口 复杂对象入参

前言:

          前端技术框架层出不穷日新月异,很多公司都招了一些专业前端人员来编写页面,服务端只做好业务逻辑和数据存储。前后端分离使得各自更加专注自己善长的领域但也有很多不是所谓的坑等着我们。

问题:

      公司服务端是通过springboot提供restful接口,前端是react js 通过http请求服务端。当接口参数是一个复杂对象通过对象传输服务端无法接收到对象中的值

案例一

接口:

参数:

restful 接口 复杂对象入参_第1张图片

问题:

         evalAnswerDOs 始终是个空对象。

解决方案:

      前端:1.设置http请求头  Content-Type:application/json; charset=utf-8

restful 接口 复杂对象入参_第2张图片

服务端:

接口参数 增加@RequestBody注解 表示接收的是一个Json对象, 增加consumes表示以当请求的HTTP 头是何种格式的时候进行应对

案例二

接口:

入参:

     MerItemDO merItemDO  对象

     String operatorId

      String operatorName

问题:

        operatorId 和operatorName  的值服务端能正常接收,merItemDO对象属性里面的值始终都是null

解决方案

第一种:

     将3个参数封装成一个对象 如案例一通过 application/json的方式解决

第二种:

     将 operatorId和 operatorName 当作 path 传入

前端

    第一种:  见案例一

      第二种: 前端无需改动

服务端

     第一种:见案例一

     第二种:

你可能感兴趣的:(restful 接口 复杂对象入参)