问题

路径冲突问题如何解决?

Get 请求和 Post 请求

<aside> <img src="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9e43f773-3dcc-4a4d-a32c-0fc1aec774ea/ChatGPT_logo.svg.webp" alt="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9e43f773-3dcc-4a4d-a32c-0fc1aec774ea/ChatGPT_logo.svg.webp" width="40px" /> 在发送 Post 请求时,form-data 和 x-www-form-urlencoded 这两种 Body 类型有什么区别?

"form-data" 是一种多部分表单数据的编码方式,通常用于上传文件或二进制数据。它的格式类似于 MIME 邮件,将数据分割成多个部分,每个部分包含一个字段和对应的值。这种编码方式支持传输大文件,并且可以携带更复杂的数据结构,比如上传文件的同时还可以附带其他表单字段。在使用 "form-data" 时,请求头中会包含一个特定的 Content-Type,指明使用的编码格式。

"x-www-form-urlencoded" 是一种较简单的表单数据编码方式,它将表单字段和对应的值进行 URL 编码,然后以键值对的形式连接起来,最终形成一个字符串。这种编码方式适用于传输较小的文本数据,例如表单提交、搜索查询等。在使用 "x-www-form-urlencoded" 时,请求头中的 Content-Type 会被设置为 "application/x-www-form-urlencoded"。

因此,两种 Body 类型的选择主要取决于具体的需求和数据类型。如果需要上传文件或二进制数据,或者需要传输复杂的数据结构,建议使用 "form-data"。而如果只需要传输简单的表单数据, "x-www-form-urlencoded" 是一个更简洁的选择。

</aside>

乱码处理

ServletContainersInitConfig 中添加乱码处理过滤器

Untitled

目前只对 Post 有效

请求参数和形参的对应关系

Untitled

使用 @RequestParam("key") 注解可以指定对应关系

5 种类型参数传递

POJO 参数传递(简单数据)

Untitled

POJO 参数(嵌套 POJO 数据)

Untitled