springbootはrestit Templateを使って簡単に使います。


ポスト提出はFormDataPayloadの2つの形態がある。
第一種類:formdata形式で、headerパラメータの中で直接にpayloadを見ることができます。json形式のpostに包装します。これを取得したら、実体に解析する必要があります。
第二の種類:restTemplate post jsonフォーマットはアリババのjsonバッグcom.alibaba.fastjsonコードdemoを使用しております。
url='http://posturl';
JSONObject postData = new JSONObject();      
postData.put("shopid", 1);        
JSONObject json = restTemplate.postForEntity(url, postData, JSONObject.class).getBody();
post formdata形式を使用するにはRestTemplateを使用してmultipart/form-dataフォーマットのデータを送信する必要がある。
RestTemplate restTemplate = new RestTemplate();
MultiValueMap map = new LinkedMultiValueMap<>();
map.add("merchantCode", merchantCode);
map.add("offLineList", JSON.toJSONString(params.getOffLineList()));
map.add("timestamp", String.valueOf(params.getTimestamp()));
map.add("sign", params.getSign());
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

HttpEntity> request = new HttpEntity>(map, headers);
headerに対して要求ヘッドの設定を行います。設定しなくても直接postは以下の通りです。
String url = 'http://posturl';       
MultiValueMap map = new LinkedMultiValueMap<>();
map.add("merchantCode", merchantCode);
map.add("offLineList", JSON.toJSONString(params.getOffLineList()));
map.add("timestamp", String.valueOf(params.getTimestamp()));
map.add("sign", params.getSign());

HttpEntity> request = new HttpEntity>(map, headers);
return ResponseEntity paymentResult = restTemplate.postForEntity(url , request, String.class);