今天在跟前端聯調一個新的接囗時遇到這個錯誤 ,錯誤代碼
-
/**
-
* 掃描車牌號碼得到車輛信息
-
* @param plateId
-
* @return
-
*/
-
-
-
public ResponseResult scanPlateNumber(
-
VehicleEntity vehicleEntity;
-
try{
-
logger.info( "批次發貨--添加車牌id:"+plateId);
因為@RequestBody是將post請求中content值轉為一個整體對象。@RequestBody的解析有兩個條件:
1.POST請求中content的值必須為json格式(存儲形式可以是字符串,也可以是byte數組);
2.@RequestBody注解的參數類型必須是完全可以接收參數值的類型,比如:Map,JSONObject,或者對應的JavaBean;
所以Integer類型不能作為@RequestBody注解的參數類型,將上述代碼修改如下(前端改成get請求)即可:
-
/**
-
* 掃描車牌號碼得到車輛信息
-
* @param plateId
-
* @return
-
*/
-
-
-
public ResponseResult scanPlateNumber(
-
VehicleEntity vehicleEntity;
-
try{
-
logger.info( "批次發貨--添加車牌id:"+plateId);
-
vehicleEntity = vehicleDAO.findVehicleById(plateId);
下面總結下我所在做項目常用接囗格式:
1.post請求,參數通常為一個javaBean
-
/**
-
* 包裹發貨(中心倉)
-
* @param orderPackageDeliveryParam
-
* @return
-
*/
-
-
-
public ResponseResult deliveryOrderPackage(
-
try {
-
List<OrderPackageDeliveryVo> orderPackageAllEntityList = orderPackageDeliveryParam.getOrderPackageDeliveryVo();
2.get請求
a.參數放在url里(舊的接囗常用)
-
/**
-
* 掃描倉位碼得到倉位信息
-
* @param cityId
-
* @return
-
*/
-
-
-
public ResponseResult scanWarehousePositionCode(
-
TimeAddressEntity timeAddressEntity;
-
try {
-
timeAddressEntity = timeAddressService.findTimeAddressWarehouseById(cityId);
b.參數放在url后
-
/**
-
* 掃描車牌號碼得到車輛信息
-
* @param plateId
-
* @return
-
*/
-
-
-
public ResponseResult scanPlateNumber(
-
VehicleEntity vehicleEntity;
-
try{
-
logger.info( "批次發貨--添加車牌id:"+plateId);
-
vehicleEntity = vehicleDAO.findVehicleById(plateId);