使用@RequestBody来接受json或者xml字符串
@PostMapping("/wx/notice")
@ApiOperation(value="修改订单状态",notes="lc")
@ApiImplicitParams({
@ApiImplicitParam(name="noticexml",value="微信支付回调",required=true,paramType="query",dataType="String"),
})
public R updateOrderStatus(@RequestBody String noticexml) {
String result = wxService.updateOrderStatus(noticexml);
if (result.equals("SUCCESS")) {
return R.success(result);
} else {
return R.fail(WX_PAY_FAIL);
}
}
从流中读取微信返回的xml数据
/**
* 从流中读取微信返回的xml数据
*
* @param httpServletRequest
* @return
* @throws IOException
*/
private String readXmlFromStream(HttpServletRequest httpServletRequest) throws IOException {
InputStream inputStream = httpServletRequest.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
final StringBuffer sb = new StringBuffer();
String line = null;
try {
while ((line = bufferedReader.readLine()) != null) {
sb.append(line);
}
} finally {
bufferedReader.close();
inputStream.close();
}
return sb.toString();
}