我正在为现有的Web API实现一个swagger接口.当前API控制器公开异步上载功能,该功能使用Request.Content异步传输图像.已使用的代码中解释这个文章.
我的api控制器:
[HttpPost]
[Route("foo/bar/upload")]
public async Task<HttpResponseMessage> Upload()
{
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
var provider = await Request.Content.ReadAsMultipartAsync(new InMemoryMultipartFormDataStreamProvider());
NameValueCollection formData = provider.FormData;
HttpResponseMessage response;
//access files
IList<HttpContent> files = provider.Files;
if (files.Count > 0)
{
HttpContent file1 = files[0];
using (Stream input = await file1.ReadAsStreamAsync())
{
object responseObj = ExternalProcessInputStream(input)
response = Request.CreateResponse(HttpStatusCode.OK, responseObj);
}
}
else
{
response = Request.CreateResponse(HttpStatusCode.BadRequest);
}
return response;
}
Run Code Online (Sandbox Code Playgroud)
花花公子,但是当我通过招摇暴露这个时,我有一个无参数函数,它在使用时会返回一个错误.
我的问题是如何提供适当的值来测试这个方法?