1 背景
servlet 拿不到 curl post request 的 json body
2 https://blog.csdn.net/liuyang755855737/article/details/79998716
根据Servlet规范,如果同时满足下列条件,则请求体(Entity)中的表单数据,将被填充到request的parameter集合中(request.getParameter系列方法可以读取相关数据):
1 这是一个HTTP/HTTPS请求
2 请求方法是POST(querystring无论是否POST都将被设置到parameter中)
3 请求的类型(Content-Type头)是application/x-www-form-urlencoded
4 Servlet调用了getParameter系列方法
不过,我们的代码并没有调用getParameter,当然有可能某个filter去调用了
而curl通过抓包,(参考fiddler原理+fiddler为什么抓chrome而不能抓curl和httpclient?fiddler为什么能篡改报文?为curl设置代理的方式),发现确实缺省情况下,是application/x-www-form-urlencoded
3 碰碰运气,给curl加上application/json,顺利拿到body