1. 什么是 x-www-form-urlencoded?
使用场景:通常用于 HTTP 请求体(body),多见于 POST 请求。
格式:键值对形式,类似于 URL 的查询字符串,但数据放在请求体中,而 不是 URL 后。
示例:Content-Type: application/x-www-form-urlencoded
请求体:key1=value1&key2=value2
数据获取: 在 Spring Boot 中,如果客户端以 application/x-www-form-urlencoded 的方式发送数据,后端可以通过以下方式获取:
使用方法参数:直接使用 @RequestParam 注解来绑定键值对。
使用 POJO:如果发送的键值对与对象属性匹配,可以直接绑定到对象。
2. 什么是 Query String?
使用场景:用于 URL 中传递参数,通常出现在 GET 请求中,也可以在 POST 请求中通过 URL 附带。
格式:键值对形式,紧跟在 ? 后,多个参数用 & 分隔。
示例:
GET /api/resource?key1=value1&key2=value2
URL:
https://example.com/api/resource?key1=value1&key2=value2
数据获取: 在 Spring Boot 中,查询字符串参数通常通过以下方式获取:
使用方法参数:通过 @RequestParam 获取参数。
获取 HttpServletRequest 或 WebRequest 对象的 getParameter() 方法。
主要区别对比: