我正在尝试使用 C# 中的 RestSharp 向 API 提交一些数据,似乎我的所有参数都添加到 Headers 集合中 - 或者这就是它们在 VS 中的编目方式。
这是我的代码
var client = new RestClient("https://api.com");
var request = new RestRequest("/recognize", Method.POST);
request.AddHeader("app_id", "");
request.AddHeader("app_key", "");
request.AddHeader("Content-Type", "multipart/form-data");
request.AddParameter("gallery_name", model.gallery_name);
request.AddParameter("image", model.image);
var response = client.Execute(request);
Run Code Online (Sandbox Code Playgroud)
从 API 返回的错误表示请求缺少 gallery_name 和 image 参数,但查看它们在 Headers 集合中的请求对象。
我可以在 Postman 中进行调用,其中方法设置为 Post,Body 设置为 form-data,并列出 2 个键/值对。
我究竟做错了什么?
在您的问题中,您说“我可以在 Postman 中拨打电话......”。
通常,如果 Postman 请求成功,那么 Postman 生成的 RestSharp 代码应该可以工作,如果 RestSharp 库中没有可能导致问题的未解决问题。
很难从这里调试和重现问题,但我可以提供以下内容供您检查。
检查这个:
如果您的 Postman 请求有效并且成功,请检查 Postman 生成的 Restsharp 代码:
旁注:如果您看到可能导致错误的已知问题,请尝试使用先前版本的 RestSharp 或alpha 版本进行测试。
我希望您现在可以进一步调查和调试问题。
(我也遇到过类似的问题,通过这种调查调试的方式成功解决了)