在调用用于Microsoft Cognitive Services Recommendations API方法Uploadacatalogfiletoamodel(modelID,catalogDisplayName,accountKey);的Swagger API生成方法时,我似乎无法弄清楚如何包含CSV文件内容。我已经尝试将catalogDisplayName设置为目录文件的完整路径,但是我得到了"(EXT-0108)传递的参数无效。"
当调用任何需要HTTP正文内容的Cog Svcs API时,如果暴露的API没有正文参数,我该如何包含正文内容?
答案 0 :(得分:0)
我猜,Swagger无法帮助您测试需要通过表单传递数据的函数。我想如果你知道正确的标题,那么在表单数据中发送CSV内容就可以了。
我与nuGet合作,名为" Microsoft.Net.Http"和代码看起来像
HttpContent stringContent = new StringContent(someStringYouWannaSend);
HttpContent bytesContent = new ByteArrayContent(someBytesYouWannaSend);
using (var client = new HttpClient())
using (var formData = new MultipartFormDataContent())
{
formData.Add(stringContent, "metadata", "metadata");
formData.Add(bytesContent, "bytes", "bytes");
HttpResponseMessage response = client.PostAsync(someWebApiEndPoint.ToString(), formData).Result;
if (!response.IsSuccessStatusCode)
{
return false; //LOG
}
string responseContent = response.Content.ReadAsStringAsync().Result;
jsonResult= JsonConvert.DeserializeObject<someCoolClass>(responseContent);
return true;
}
对于那些无法编译的变量感到抱歉。希望你能弄清楚这一点。