Springboot记录请求响应日志

1.控制上传的图片等文件(multipart/form-data),是否记录到日志文件中 

servlet:
  multipart:
    enabled: false

request.getInputstream()的返回值 如下

Springboot记录请求响应日志_第1张图片

servlet:
  multipart:
    enabled: false时

Springboot记录请求响应日志_第2张图片

request.getInputstream()的返回值:test=123123&tttt=566766544

post 请求 会把URL的参数放到body中提交,最终在InputStream中

 

知识点1:

某个request是一个mutipartrequest,会被mutipartresolver处理,此时inputStream中内容会被处理,二进制文件会被抽走,

数据之间的隔离标记也会被清除,只留下表单的普通参数 test=123123&tttt=566766544

知识点2:

method为post,enctype为multipart/form-data时,浏览器才会把二进制文件发送给服务器,被解析成MutipartFile对象

知识点3:常见的请求提交数据四种方式,服务器根据不同的请求方式做不同的处理

application/x-www-form-urlencoded #浏览器的原生form表单 # 参数会被放到parameter集合中

mutipart/form-data  # 表单上传文件

application/json # 消息主题是一个json字符串

text/xml # 消息主题是xml格式的内容

知识点3:

request.getParameter() 第一次执行,会读取inputStream 把参数一次性全取出来

在controller里,application/x-www-form-urlencoded 时 inputstream的内容被清空了,可以通过request.getParameter()获取

application/json时,nputstream的内容没有清空

你可能感兴趣的:(Springboot记录请求响应日志)