如何在 Golang 中将基本 JSON 作为 multipart/form-data 发布
我正在处理一个非常令人沮丧的端点,它要求我使用 multipart/form-data
作为 post 的内容类型,即使端点实际上只需要表单的任何部分的基本键:值文本。我想使用基本的 golang http
库。
不幸的是,我见过的任何示例都是针对更复杂的类型 - 文件、图像、视频等。我最终要放入正文中的是一个简单的 map[string] 接口{}
,其中interface{}
是简单的 go 类型 - string、bool、int、float64 等。如何将此接口转换为 newrequest
函数将采用的内容?谢谢!
bodyInput := map[string]interface{}{"client_id":"abc123", "you_ok": false, "jwt_token":"psojioajf.sjfiofijw.asdisaoetcetc"} req, err := http.NewRequest(http.MethodPost, "https://my-website.com/endpoint/path", ???) // replace ??? if err != nil { // handle error } req.Header.Set("Content-Type", "multipart/form-data") client := http.Client{} rsp, err := client.Do(req) // deal with the rest
正确答案
根据这个答案针对不同的问题,我能够弄清楚我需要什么。我必须使用 multipart
库,并在标题上正确设置边界。
import ( "mime/multipart" ) bodyInput := map[string]interface{}{"client_id":"abc123", "you_ok": false, "jwt_token":"psojioajf.sjfiofijw.asdisaoetcetc"} reqBody := new(bytes.Buffer) mp := multipart.NewWriter(reqBody) for k, v := range bodyInput { str, ok := v.(string) if !ok { return fmt.Errorf("converting %v to string", v) } mp.WriteField(k, str) } mp.Close() req, err := http.NewRequest(http.MethodPost, "https://my-website.com/endpoint/path", reqBody) if err != nil { // handle err } req.Header["Content-Type"] = []string{mp.FormDataContentType()}
以上是如何在 Golang 中将基本 JSON 作为 multipart/form-data 发布的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

自 2009 年问世以来,比特币成为加密货币界的领头羊,其价格经历了巨大的波动。为了提供全面的历史概述,本文汇集了从 2009 年到 2025 年的比特币价格数据,涵盖了重大的市场事件、市场情绪变化和影响价格走势的重要因素。

比特币,作为一种加密货币,自问世以来经历了显着的市场波动。本文将提供比特币自诞生以来的历史价格总览,帮助读者了解其价格趋势和关键时刻。通过分析比特币的历史价格数据,我们可以了解市场对其价值评估、影响其波动的因素,并为未来投资决策提供依据。

比特币自 2009 年创世以来,价格经历多次大幅波动,最高涨至 2021 年 11 月的 69,044.77 美元,最低跌至 2018 年 12 月的 3,191.22 美元。截至 2024 年 12 月,最新价格突破 100,204 美元。

实时比特币美元价格 影响比特币价格的因素 预测比特币未来价格的指标 以下是 2018-2024 年比特币价格的一些关键信息:

CSS自定义resize符号的方法与背景色统一在日常开发中,我们经常会遇到需要自定义用户界面细节的情况,比如调...

是的,H5页面制作是前端开发的重要实现方式,涉及HTML、CSS和JavaScript等核心技术。开发者通过巧妙结合这些技术,例如使用<canvas>标签绘制图形或使用JavaScript控制交互行为,构建出动态且功能强大的H5页面。

如何实现分段器的45度曲线效果?在实现分段器的过程中,如何让点击左侧按钮时右侧边框变成45度曲线,而点�...
