memperkenalkan
Semua orang tahu bahwa persyaratan tautan callback dari WeChat Pay tidak dapat diikuti oleh parameter, tetapi mereka juga perlu menerima data XML yang dikembalikan. Saya mulai menggunakan anotasi @RequestBody pada parameter, berharap untuk mendapatkan data XML, tes gagal. Akhirnya, menggunakan HttpServletRequest untuk mendapatkan data berhasil.
Kode sampel
@RequestMapping ("/weixInpay/callback") Public String callback (permintaan httpservletRequest) {inputStream is = request.getInputStream (); String xml = streamutil.inputStream2String (IS, "UTF-8") /*** Kemudian, konversi XML menjadi peta untuk memproses secara logis berdasarkan data* /} /*** Stream InputStream dikonversi menjadi String String* @Param Instream InputStream Stream* @param Encode Pengkodean Format* @Return String String*/Public Static String InputStream2String (InputStream Instream, String Encode) {String hasil = null; coba {if (instream! = null) {bytearrayoutputStream outstream = new bytearrayoutputStream (); byte [] tempbytes = byte baru [_buffer_size]; int count = -1; while ((count = instream.read (tempbytes, 0, _buffer_size))! = -1) {outstream.write (tempbytes, 0, count); } tempbytes = null; outstream.flush (); hasil = string baru (outstream.tobytearray (), encoding); }} catch (Exception e) {result = null; } return hasil;}Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap ini akan membantu Anda belajar atau bekerja. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi.