post请求参数传递

  1. 当传递的是formdata类型时,有文件和json类型时
    例:
    const formData = new FormData();
    //File 对象(继承自 Blob,表示文件系统中的文件)
    const fileSelect = fileListData.value[0]?.raw;
    formData.append("file", fileSelect);//文件
    // Blob 对象(二进制大对象,此处存储 JSON 字符串)
    const groupInfoBlob = new Blob([JSON.stringify(form_list_data.value)], {
    type: "application/json",
    });
    //headingInfo:JSON 格式的 Blob
    formData.append("headingInfo", groupInfoBlob);

### 如何在HTTP POST请求中传递参数 POST 请求是一种常见的 HTTP 方法,主要用于向服务器发送数据。相比 GET 请求POST 请求更适合处理大量的或者敏感的数据,因为它的参数通常放在请求体(Body)中而不是 URL 中。 以下是几种常用的 POST 请求参数传递方式及其对应的示例代码: #### 1. **表单编码 (application/x-www-form-urlencoded)** 这是最常见的 POST 数据传输形式之一,适用于简单的键值对数据结构。客户端会将键值对序列化成 `key=value` 的字符串,并通过请求体发送给服务端。 ```python import requests url = 'https://example.com/api' data = { 'username': 'test_user', 'password': 'secure_password' } response = requests.post(url, data=data) print(response.text) ``` 这种方式下,参数会被自动转换为 `application/x-www-form-urlencoded` 格式的 Body 内容[^2]。 --- #### 2. **JSON 编码 (application/json)** 现代 API 开发更倾向于使用 JSON 格式来传递复杂对象或嵌套数据结构。这种情况下,需要手动设置 Content-Type 头部并提供 JSON 字符串作为请求体的内容。 ```javascript const axios = require('axios'); let url = 'https://example.com/api'; let payload = { username: 'test_user', password: 'secure_password' }; axios.post(url, payload, { headers: {'Content-Type': 'application/json'} }) .then((res) => console.log(res.data)) .catch((err) => console.error(err)); ``` 此方法允许开发者轻松定义复杂的输入模型,尤其适合 RESTful 风格的服务设计。 --- #### 3. **文件上传 (multipart/form-data)** 当涉及到二进制大对象(如图片、视频等),则需采用 multipart 形式提交资料。它允许多个字段共存于同一个请求里,其中某些部分可能携带文件流而非纯文本信息。 ```python files = {'upload_file': open('/path/to/file', 'rb')} values = {'DB': 'photcat', 'OUT': 'csv', 'SHORT': 'short'} response = requests.post(url, files=files, data=values) print(response.status_code) ``` 上述例子展示了如何利用 Python 的 Requests 库完成带附件的多部件上传操作。 --- 需要注意的是,在 Spring Cloud OpenFeign 使用场景下存在特殊行为——即对于标注了 @RequestParam 注解的情况,默认仍尝试从查询字符串读取变量值而非消息主体内提取[^1]。因此建议尽可能遵循框架推荐的最佳实践模式,比如改用实体类绑定机制代替原始命名参数声明法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值