einführen
Jeder weiß, dass die Anforderungen an die Rückrufverbindung von WeChat Pay nicht von Parametern folgen können, aber auch die zurückgegebenen XML -Daten erhalten müssen. Ich habe angefangen, @RequestBody Annotation für die Parameter zu verwenden, in der Hoffnung, die XML -Daten zu erhalten, ist der Test fehlgeschlagen. Schließlich verwenden Sie HttpServletRequest , um die Daten erfolgreich zu erhalten.
Beispielcode
@RequestMapping ("/wixinpay/callback") public String Callback (httpServletRequest -Anforderung) {InputStream is = request.getInputStream (); String xml = streamutil.inputStream2string (IS, "UTF-8") /*** Später konvertieren Sie XML in MAP, um basierend auf den Daten* /} logisch zu verarbeiten /*** InputStream -Stream wird in String -String konvertiert* @param Instream InputStream Stream* @param codierende Encodierungsformat* @return String String*/public static String InputStream2String (InputStream Instream, String -Codierung) {String -Ergebnis = null; try {if (instream! byte [] tempbytes = new byte [_buffer_size]; int count = -1; while ((count = instream.read (tempbytes, 0, _buffer_size))! = -1) {outstream.write (tempbytes, 0, count); } tempbytes = null; überstream.flush (); result = new String (outstream.tobytearray (), codieren); }} catch (Ausnahme e) {result = null; } Rückgabeergebnis;}Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird Ihnen helfen, zu studieren oder zu arbeiten. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen.