introducir
Todos saben que los requisitos del enlace de devolución de llamada de WeChat Pay no pueden ser seguidos por parámetros, pero también deben recibir los datos XML devueltos. Comencé a usar la anotación @RequestBody en los parámetros, con la esperanza de obtener los datos XML, la prueba falló. Finalmente, utilizando HttpServletRequest para obtener los datos con éxito.
Código de muestra
@RequestMapping ("/weixinpay/callback") public String Callback (httpservletRequest solicitud) {inputStream IS = request.getInputStream (); String xml = streamUtil.inputStream2String (IS, "UTF-8") /*** Más tarde, convierta XML en MAP para procesar lógicamente en función de los datos* /} /*** InputStream Stream se convierte en cadena de cadena* @param Instream InputStream Stream* @param Coding Format de codificación* @return cadena*/public static string inputStream2String (InputStream Instaam, codificación de cadena) {String Result = null; Pruebe {if (IntileL! = NULL) {byteArArAyOutputStream OutStream = new ByteArRayOutputStream (); byte [] tempbytes = new Byte [_buffer_size]; int count = -1; while ((count = Intileam.Read (tempbytes, 0, _buffer_size))! = -1) {Outstream.write (tempbytes, 0, count); } tempbytes = nulo; Outstream.flush (); result = new String (OutStream.TobyTearray (), codificación); }} capt (excepción e) {resultado = null; } resultado de retorno;}Resumir
Lo anterior es todo el contenido de este artículo. Espero que te ayude a estudiar o trabajar. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse.