post请求可以人为主动在地址中拼接参数,拼接的参数可以直接像get那样接收
0.0.0.0- - [09/Jun/2021:15:35:47 +0800] "POST /huawei/connect?signature=fh28c777439e65313c03t8eee2312f57p684efd3×tamp=1623224147&nonce=1060984980&openid=adlkgjaslkdgjaslkdj HTTP/1.1" 200 305 "-" "Mozilla/4.0"
比如微信开发,post请求中,微信在地址栏拼接了数据,post请求体中的数据则为xml体数据,我们可以在request中获取
@RequestMapping(path = "/connector", method = {RequestMethod.GET, RequestMethod.POST})
public String message(String signature, String timestamp, String nonce, String echostr,HttpServletRequest request, HttpServletResponse response) throws IOException {
boolean isSignatureRight = weixin.encryptionAuthentication(signature, timestamp, nonce, echostr);
if(!isSignatureRight){
return "签名错误";
}
if(request.getMethod().toLowerCase().equals("get")){
return echostr;
}
//post请求,从request中获取post请求体中的数据,然后处理
}