คำถามติดแท็ก resttemplate

27
Spring RestTemplate - วิธีเปิดใช้งานการดีบัก / การบันทึกคำขอ / การตอบกลับอย่างสมบูรณ์หรือไม่
ฉันใช้ Spring RestTemplate อยู่พักหนึ่งแล้วฉันก็ชนกำแพงอย่างต่อเนื่องเมื่อฉันพยายามที่จะดีบั๊กมันเป็นคำขอและคำตอบ โดยทั่วไปฉันกำลังมองหาสิ่งเดียวกันกับที่ฉันเห็นเมื่อฉันใช้ขดตัวเลือก "verbose" ที่เปิดอยู่ ตัวอย่างเช่น : curl -v http://twitter.com/statuses/public_timeline.rss จะแสดงทั้งข้อมูลที่ส่งและข้อมูลที่ได้รับ (รวมถึงส่วนหัวคุกกี้ ฯลฯ ) ฉันได้ตรวจสอบโพสต์ที่เกี่ยวข้องเช่น: ฉันจะบันทึกการตอบสนองใน Spring RestTemplate ได้อย่างไร แต่ฉันไม่สามารถแก้ไขปัญหานี้ได้ วิธีหนึ่งในการทำเช่นนี้คือการเปลี่ยนรหัสต้นฉบับของ RestTemplate และเพิ่มคำสั่งการบันทึกพิเศษที่นั่น แต่ฉันจะพบว่าวิธีนี้เป็นวิธีสุดท้าย ควรมีวิธีบอก Spring Web Client / RestTemplate เพื่อบันทึกทุกอย่างด้วยวิธีที่เป็นมิตรกว่านี้ เป้าหมายของฉันจะสามารถทำเช่นนี้ด้วยรหัสเช่น: restTemplate.put("http://someurl", objectToPut, urlPathValues); และจากนั้นรับข้อมูล debug ชนิดเดียวกัน (ตามที่ได้รับด้วย curl) ในล็อกไฟล์หรือในคอนโซล ฉันเชื่อว่านี่จะเป็นประโยชน์อย่างยิ่งสำหรับทุกคนที่ใช้ Spring RestTemplate และมีปัญหา การใช้ curl เพื่อดีบักปัญหา …

10
รับรายการของวัตถุ JSON ด้วย Spring RestTemplate
ฉันมีสองคำถาม: วิธีแมปรายการของวัตถุ JSON โดยใช้ Spring RestTemplate วิธีแมปออบเจ็กต์ JSON ที่ซ้อนกัน ฉันพยายามที่จะกินhttps://bitpay.com/api/ratesโดยต่อไปนี้การกวดวิชาจากhttp://spring.io/guides/gs/consuming-rest/

5
วิธีการตั้งค่าส่วนหัว“ ยอมรับ:” ในคำขอของ Spring RestTemplate
ฉันต้องการที่จะตั้งค่าของในการร้องขอผมทำใช้ของฤดูใบไม้ผลิAccept:RestTemplate นี่คือรหัสการจัดการคำขอสปริงของฉัน @RequestMapping( value= "/uom_matrix_save_or_edit", method = RequestMethod.POST, produces="application/json" ) public @ResponseBody ModelMap uomMatrixSaveOrEdit( ModelMap model, @RequestParam("parentId") String parentId ){ model.addAttribute("attributeValues",parentId); return model; } และนี่คือไคลเอนต์ Java REST ของฉัน: public void post(){ MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>(); params.add("parentId", "parentId"); String result = rest.postForObject( url, params, String.class) ; System.out.println(result); } …

4
วิธีการโพสต์ข้อมูลในแบบฟอร์มด้วย Spring RestTemplate
ฉันต้องการแปลงตัวอย่างข้อมูล curl (ทำงาน) ต่อไปนี้เป็นการเรียก RestTemplate: curl -i -X POST -d "email=first.last@example.com" https://app.example.com/hr/email ฉันจะส่งพารามิเตอร์อีเมลได้อย่างถูกต้องได้อย่างไร รหัสต่อไปนี้ส่งผลให้เกิดการตอบสนอง 404 ไม่พบ: String url = "https://app.example.com/hr/email"; Map<String, String> params = new HashMap<String, String>(); params.put("email", "first.last@example.com"); RestTemplate restTemplate = new RestTemplate(); ResponseEntity<String> response = restTemplate.postForEntity( url, params, String.class ); ฉันพยายามกำหนดการโทรที่ถูกต้องใน PostMan และฉันสามารถทำให้มันทำงานได้อย่างถูกต้องโดยการระบุพารามิเตอร์อีเมลเป็นพารามิเตอร์ "form-data" ในเนื้อหา วิธีที่ถูกต้องเพื่อให้บรรลุหน้าที่การทำงานนี้ใน RestTemplate คืออะไร?

14
คำขอ POST ผ่าน RestTemplate ใน JSON
ฉันไม่พบตัวอย่างวิธีแก้ปัญหาของฉันดังนั้นฉันจึงต้องการขอความช่วยเหลือจากคุณ ฉันไม่สามารถส่งคำขอ POST โดยใช้วัตถุ RestTemplate ใน JSON ได้ ทุกครั้งที่ได้รับ: org.springframework.web.client.HttpClientErrorException: 415 ประเภทสื่อที่ไม่รองรับ ฉันใช้ RestTemplate ด้วยวิธีนี้: ... restTemplate = new RestTemplate(); List<HttpMessageConverter<?>> list = new ArrayList<HttpMessageConverter<?>>(); list.add(new MappingJacksonHttpMessageConverter()); restTemplate.setMessageConverters(list); ... Payment payment= new Payment("Aa4bhs"); Payment res = restTemplate.postForObject("http://localhost:8080/aurest/rest/payment", payment, Payment.class); อะไรคือความผิดของฉัน?
126 java  json  spring  rest  resttemplate 

8
Spring RestTemplate หมดเวลา
ฉันต้องการตั้งค่าระยะหมดเวลาการเชื่อมต่อสำหรับบริการพักที่แอปพลิเคชันเว็บของฉันใช้ ฉันใช้ RestTemplate ของ Spring เพื่อพูดคุยกับบริการของฉัน ฉันได้ทำการค้นคว้าและพบและใช้ xml ด้านล่าง (ใน xml แอปพลิเคชันของฉัน) ซึ่งฉันเชื่อว่ามีไว้เพื่อตั้งค่าการหมดเวลา ฉันใช้ Spring 3.0 ฉันยังพบปัญหาเดียวกันที่นี่การกำหนดค่าการหมดเวลาสำหรับ Spring webservices ด้วย RestTemplateแต่โซลูชันดูเหมือนจะไม่สะอาดฉันต้องการตั้งค่าการหมดเวลาผ่าน Spring config <bean id="RestOperations" class="org.springframework.web.client.RestTemplate"> <constructor-arg> <bean class="org.springframework.http.client.CommonsClientHttpRequestFactory"> <property name="readTimeout" value="${restURL.connectionTimeout}" /> </bean> </constructor-arg> </bean> ดูเหมือนว่าอะไรก็ตามที่ฉันตั้งค่า readTimeout เป็นฉันจะได้รับสิ่งต่อไปนี้: สายเคเบิลเครือข่ายถูกตัดการเชื่อมต่อ: รอประมาณ 20 วินาทีและรายงานข้อยกเว้นต่อไปนี้: org.springframework.web.client.ResourceAccessExcep ข้อผิดพลาด I / O: ไม่มีเส้นทางไปยังโฮสต์: เชื่อมต่อ; …

10
การจัดการข้อยกเว้น Spring Resttemplate
ด้านล่างนี้คือข้อมูลโค้ด โดยพื้นฐานแล้วฉันพยายามเผยแพร่ข้อยกเว้นเมื่อรหัสข้อผิดพลาดเป็นอย่างอื่นที่ไม่ใช่ 200 ResponseEntity<Object> response = restTemplate.exchange(url.toString().replace("{version}", version), HttpMethod.POST, entity, Object.class); if(response.getStatusCode().value()!= 200){ logger.debug("Encountered Error while Calling API"); throw new ApplicationException(); } อย่างไรก็ตามในกรณีของการตอบสนอง 500 จากเซิร์ฟเวอร์ฉันได้รับข้อยกเว้น org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94) ~[spring-web-4.2.3.RELEASE.jar:4.2.3.RELEASE] ฉันจำเป็นต้องสรุปวิธีการแลกเปลี่ยนเทมเพลตที่เหลือจริงๆหรือไม่? แล้วจุดประสงค์ของรหัสคืออะไร?

9
ไม่สามารถป้อนข้อมูลอัตโนมัติในช่อง: RestTemplate ในแอปพลิเคชัน Spring boot
ฉันได้รับข้อยกเว้นต่ำกว่าในขณะที่เรียกใช้แอปพลิเคชันสปริงบูตระหว่างการเริ่มต้น: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'testController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.client.RestTemplate com.micro.test.controller.TestController.restTemplate; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.web.client.RestTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.