我正在尝试使用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);
来自API的错误表明请求缺少gallery_name和image参数,但查看了Headers集合中的请求对象。
我可以在Postman中进行调用,其中方法设置为Post,Body设置为form-data,以及列出的2个键/值对。
我做错了什么?
答案 0 :(得分:4)
在你的问题中,你说"我可以在邮差中打电话......"。
通常如果Postman请求成功,那么如果RestSharp库中没有可能导致您的问题的未解决问题,那么Postman生成的RestSharp代码是否有效。
从这里调试并重现问题很困难,但我可以提供以下内容供您查看。
检查一下:
如果您的邮递员请求有效且成功,请检查Postman生成的Restsharp代码:
旁注:如果您发现可能导致错误的已知问题,请尝试使用以前版本的RestSharp或alpha version进行测试。
我希望您现在可以进一步调查和调试问题。
(我有类似的问题并通过这种调查和调试方式解决了问题)