소개하다
WeChat 급여의 콜백 링크 요구 사항에 따라 매개 변수가 뒤따를 수 없지만 반환 된 XML 데이터도 수신해야한다는 것을 모두 알고 있습니다. XML 데이터를 가져 오기를 희망하면서 매개 변수에 @RequestBody 주석을 사용하기 시작했습니다. 테스트가 실패했습니다. 마지막으로, HttpServletRequest 사용하여 데이터를 성공적으로 얻습니다.
샘플 코드
@requestmapping ( "/weixinpay/callback") public String 콜백 (httpservletrequest request) {inputStream is = request.getInputStream (); 문자열 xml = streamutil.inputStream2string ( "is,"utf-8 ") /*** 나중에 XML을 맵으로 변환하여 데이터를 기반으로 논리적으로 처리하기 위해 MAP로 변환합니다} /*** 입력 스트림 스트림은 문자열 문자열로 변환됩니다* @param instream inputStream 스트림* @param 인코딩 인코딩 형식* @return String*/public static String inputStream2string (inputStream instream, String Encoding) {String result = null; try {if (instream! = null) {bytearrayoutputStream exstream = new BytearRayoutputStream (); 바이트 [] tempbytes = 새로운 바이트 [_buffer_size]; int count = -1; while ((count = instream.read (tempbytes, 0, _buffer_size))! = -1) {outstream.write (tempbytes, 0, count); } tempbytes = null; outstream.flush (); result = new String (outstream.tobytearray (), 인코딩); }} catch (예외 e) {result = null; } 반환 결과;}요약
위는이 기사의 전체 내용입니다. 나는 그것이 당신이 공부하거나 일하는 데 도움이되기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다.