ฉันต้องRESTโทรหาที่มีส่วนหัวที่กำหนดเองและพารามิเตอร์การสืบค้น ฉันตั้งค่าของฉันHttpEntityด้วยส่วนหัว (ไม่มีร่างกาย) และฉันใช้RestTemplate.exchange()วิธีการดังต่อไปนี้:
HttpHeaders headers = new HttpHeaders();
headers.set("Accept", "application/json");
Map<String, String> params = new HashMap<String, String>();
params.put("msisdn", msisdn);
params.put("email", email);
params.put("clientVersion", clientVersion);
params.put("clientType", clientType);
params.put("issuerName", issuerName);
params.put("applicationName", applicationName);
HttpEntity entity = new HttpEntity(headers);
HttpEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class, params);
สิ่งนี้ล้มเหลวในตอนท้ายของไคลเอนต์โดยdispatcher servletไม่สามารถแก้ไขการร้องขอไปยังตัวจัดการได้ เมื่อทำการดีบั๊กแล้วดูเหมือนว่าจะไม่ส่งพารามิเตอร์คำขอ
เมื่อฉันแลกเปลี่ยนกับการPOSTใช้เนื้อหาคำขอและไม่มีพารามิเตอร์การสืบค้นก็ใช้งานได้ดี
ไม่มีใครมีความคิดใด ๆ
exchangeเป็นgetForEntity:restTemplate.getForEntity(builder.build().encode().toUri(), String.class);เพื่อความเรียบง่าย