POST 请求常用 Content-Type
text/plain
text 即表明是文本,输入什么就传过来什么,最简单的类型
application/json
这个与 text 基本没什么区别,只不过逻辑上标记传输过来的文本是 json 类型,其实就算不是 json 也没有影响,但是别人定义好的框架中你不传 json,很大几率会发生 json 转对象异常
multipart/form-data; boundary=——xxx
这个一般是用来传文件,表单数据也可以一起传过来,boundary 顾名思义是分隔用的,就像 url 参数中的 & 一样的道理。不过此处的分隔比较复杂,毕竟是文件在那里摆着,万一与文件中字符重复了那就糟糕了
获取 body 数据
request.getInputStream()
然后转成字符串就行了,有些可能还需要解码。
application/x-www-form-urlencoded
这种就是普通的表单使用的,不是通过流获取,获取方式跟 get 请求的 url 参数一样,使用request.getParameterNames()