当你的java方法是这样定义的

@PostMapping("/rePushMedicalRecord") public String rePushMedicalRecord(@RequestParam("topicId") String topicId){

}

参数是@RequestParam接收,则请求时需要用application/x-www-form-urlencoded请求

如果是@RequestBody 则需要定义入参对象,从字段中获取数值

@PostMapping("/rePushMedicalRecord") public String rePushMedicalRecord(@RequestBody  BodyData bodyData){

dodyData.getTopicId();方式获取数据

}

application/x-www-form-urlencoded 和 application/json 是两种不同的 Content-Type,它们各自有不同的用途和编码方式,用于在 HTTP 请求中发送数据。以下是这两种 Content-Type 的主要区别:

1. application/x-www-form-urlencoded

  • 用途:主要用于发送表单数据,尤其是 HTML 表单数据。
  • 编码方式:数据被编码为键值对(key-value pairs),使用等号 (=) 分隔键和值,使用 & 符号分隔不同的键值对。例如:key1=value1&key2=value2
  • 请求体示例name=John+Doe&age=30&city=New+York
  • 优点:简单、易读,兼容性好(大多数浏览器和服务器都支持)。
  • 缺点:对于复杂的数据结构(如数组、嵌套对象)表示起来较为繁琐,不直观。

2. application/json

  • 用途:用于发送 JSON 格式的数据,通常用于 RESTful API。
  • 编码方式:数据被编码为 JSON 字符串,这是一种轻量级的数据交换格式。
  • 请求体示例{"name": "John Doe", "age": 30, "city": "New York", "hobbies": ["reading", "cinema"]}
  • 优点:能够清晰地表示复杂的数据结构(如数组、嵌套对象),易于阅读和编写。JSON 格式是通用的,并且被各种编程语言和框架广泛支持。
  • 缺点:与 application/x-www-form-urlencoded 相比,可能需要更多的处理逻辑来解析 JSON 数据。

选择哪种 Content-Type?

  • 如果你在发送简单的表单数据,并且只需要键值对,那么 application/x-www-form-urlencoded 可能是一个不错的选择。
  • 如果你在发送复杂的数据结构,或者你的 API 遵循 RESTful 设计原则,那么 application/json 通常是更好的选择。

在 Spring Boot 应用程序中,你可以通过 @RequestBody 注解来接收 application/json 类型的请求体,并通过 @RequestParam@PathVariable 或 @ModelAttribute 等注解来接收 application/x-www-form-urlencoded 类型的请求参数。

@PostMapping("/rePushMedicalRecord1/{id}")
public String rePushMedicalRecord1(@PathVariable("id") String id){}

请求地址可以写成/rePushMedicalRecord1/你的id

 需要寄快递的朋友,这个小程序发快递只要五块钱哦~

 

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:23 天前 )
960b763e 3 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐