Возможно ли иметь System.IO.Stream в качестве входного параметра для Swagger? - PullRequest
0 голосов
/ 11 декабря 2018

Мы используем swagger (v 2.0) для проекта, и один из контроллеров API ASP.NET имеет функцию, которая получает [FromBody] System.IO.Stream.Но когда я запускаю пользовательский интерфейс, пользовательский интерфейс предлагает что-то такое, что при использовании и отладке поток всегда равен нулю.Исследуя онлайн, я вижу, что многие другие используют IFromFile, но, похоже, это эксклюзив .NET Core.

Возможно ли то, что я пытаюсь сделать, или мне следует попробовать что-то еще?Заранее благодарим.

Используемый в настоящее время код:

    /// <summary>
    /// Store the photo of the object.
    /// </summary>
    /// <remarks>Registers the given object photo that was captured through scanning. </remarks>
    /// <param name="barcode">Barcode of the scanned object </param>
    /// <param name="lang">Language in which the request should be processed, if possible (e.g., for object information retrieval and status message construction).  This is the MD Connect GUI’s language. Expressed as a LanguageCode (see Definitions). </param>
    /// <param name="photo"></param>
    /// <response code="201">The captured object photo was successfully registered.</response>
    /// <response code="400">Bad Request</response>
    /// <response code="500">Internal Server Error</response>
    [HttpPost]
    [Route("api/logistore/multiscan/scanhandler/v1/objects/{barcode}/scan/photos")]
    [SwaggerOperation("RegisterCapturedObjectPhoto")]
    [SwaggerResponse(200, type: typeof(HttpStatusCode))]
    [SwaggerResponse(201, type: typeof(HttpStatusCode))]
    [SwaggerResponse(400, type: typeof(ErrorResult))]
    [SwaggerResponse(500, type: typeof(ErrorResult))]
    public IHttpActionResult RegisterCapturedObjectPhoto([FromUri]string barcode, [FromUri]string lang, [FromBody]System.IO.Stream photo)
    {
        if (string.IsNullOrWhiteSpace(barcode))
        {
            throw new RestException(HttpStatusCode.BadRequest, "UNKNOWN_BARCODE", "Unknown barcode / Onbekende barcode: Barcode cannot be empty.");
        }

        if (photo == null)
        {
            throw new RestException(HttpStatusCode.BadRequest, "INVALID_PHOTO", "Invalid photo / Ongeldige foto: Invalid input for photo received.");
        }

        return Content(HttpStatusCode.Created, "The captured object photo was successfully registered.");
    }

Предложение Swagger UI:

The swagger UI suggestion

...