go - 尝试重新创建 Web 服务的模拟版本
问题描述
我正在尝试在 Go 中模拟一些 API 进行测试 - 我没有原始 API 的源代码,但我可以调用它们。
我正在努力解决的问题是,它们中的一些在调用部分的格式与我习惯的有点不同,因为似乎没有文件名只是数据 - 我在这里有三个 Postman 快照,当它看起来您调用原始网络服务(它上传一个 csv 文件):
如果我尝试使用这样的处理程序,它会恐慌:
file, handler, err := r.FormFile("File")
defer file.Close()
// copy example
f, err := os.OpenFile("./downloaded", os.O_WRONLY|os.O_CREATE, 0666)
defer f.Close()
io.Copy(f, file)
它在对 FormFile 的调用中失败了-我知道它是因为文件在正文中。如何通过 Postman 的客户端调用使其在 Go 中的服务器端工作?
编辑
它引发的恐慌是:
runtime error: invalid memory address or nil pointer dereference
解决方案
推荐阅读
- android - 使用不同的控制台 Firebase(不同的用户)登录?
- spring-batch - FlatFileItemReader 跳过第一条记录?
- sql - 更新/新的数据库信息未显示在 Visual Studio 的选项卡式表单上
- api - 是否有任何 API 可以验证电子邮件的有效性?
- javascript - 异步/等待矫枉过正?我是否不必要地使用异步和等待?
- react-native - 我对 react-native 中的模态有一些疑问
- spring - Spring boot Web-Client 异常处理
- java - 如果添加了名称模板,为什么 Eclipse 不能识别多模块 Maven 项目的 Java 特性?
- c# - 如何使用 Ninject 的构造函数注入将连接字符串传递给构造函数
- ionic-framework - 找不到模块 './src' 离子 3