Query String 格式:
Query String 是通过 URL 的查询参数传递数据的一种方式,通常用于 GET 请求。
示例:http://example.com/resource?key1=value1&key2=value2
参数以键值对的形式出现,用 & 符号分隔,每个键值对由 = 符号分隔键和值。
优点:可读性较高,易于传输简单数据。
缺点:不适合传输复杂结构的数据,对于多层嵌套的结构不够直观。
JSON 格式:
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,通常用于 POST 请求的请求体中。
示例:{"key1": "value1", "key2": "value2"}
JSON 格式是一种层次结构的数据格式,支持复杂的数据结构,如对象、数组等。
优点:适合传输复杂数据结构,易于解析和处理。
缺点:相对于 Query String 格式,JSON 格式的可读性稍差。
关于为什么在使用 Query String 格式时不使用 @RequestBody 注解,原因如下:
@RequestBody 注解用于将 HTTP 请求的 body 部分的数据绑定到相应的方法参数上,通常用于接收 JSON 格式的数据。
Query String 格式的数据通常出现在 URL 的查询参数中,并不在请求体中,因此不需要使用 @RequestBody 注解来接收这部分数据。
在 Spring 框架中,可以使用 @RequestParam 注解来获取 Query String 格式的参数值,而不是使用 @RequestBody。 @RequestParam 注解的参数通常用于标识查询参数的名称。