小编mar*_*ijn的帖子

使用未在swagger中公开的HTTP内容进行API文件上载

我正在为现有的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)

花花公子,但是当我通过招摇暴露这个时,我有一个无参数函数,它在使用时会返回一个错误.

我的问题是如何提供适当的值来测试这个方法?

c# api swagger

4
推荐指数
1
解决办法
5984
查看次数

标签 统计

api ×1

c# ×1

swagger ×1