支持数组和对象为参数的http请求Java写法
关键使用了ParameterizedTypeReference
ParameterizedTypeReference<ESBReturn<List<ERPFixedAssetCartPushDataResultDTO>>> typeRef = new ParameterizedTypeReference<>() { };
代码示例:
/** * 推送erp 资产主数据同步传到ERP接口 * * @param esbMessage 入参 推送一个资产卡片列表 * @return ESBReturn 出参 得到一个资产编号(erp)列表 */ public ESBReturn<List<ERPFixedAssetCartPushDataResultDTO>> pushFixedAssetCard(ESBMessage<List<ERPFixedAssetCartPushDataDTO>> esbMessage) { String esbString = JSON.toJSONString(esbMessage); log.info("资产主数据同步传到ERP接口推送数据: {}", esbString); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity<String> entity = new HttpEntity<>(esbString, headers); ParameterizedTypeReference<ESBReturn<List<ERPFixedAssetCartPushDataResultDTO>>> typeRef = new ParameterizedTypeReference<>() { }; try { ResponseEntity<ESBReturn<List<ERPFixedAssetCartPushDataResultDTO>>> result = restTemplate.exchange( ESB_URL + CREATE_FIXED_ASSET_CARD_URL, HttpMethod.POST, entity, typeRef); log.info("资产主数据同步传到ERP接口返回数据:{}", result); return result.getBody(); } catch (Exception e) { log.error("资产主数据同步传到ERP接口失败{}", e.getMessage()); throw new BusinessException("资产主数据同步传到ERP接口失败" + e.getMessage()); } }

浙公网安备 33010602011771号