ASP. NET Core API Controller ничего не возвращает, даже если он успешно завершил запрос POST - PullRequest
1 голос
/ 14 июля 2020

У меня есть контроллер внизу, где игрок может загружать фотографии своих сокровищ.

Работает! Однако, когда я тестирую его с помощью программы Postman, он ничего не возвращает, когда я выдаю Return OK().

Как я могу заставить этот контроллер отправлять пользователю сообщение о том, что носитель был успешно загружен ? Я думал, что возврат OK () сделает это, но поле ответа в Postman пустое.

Есть ли способ сделать это?

Спасибо!

[HttpPost]
public async Task<IActionResult> PostFormData([FromForm(Name = "file")] IFormFile userFileUpload, [FromForm] Guid treasureId)
{
    int maxFileSize = 52428800; 
    var allowedExtensions = new[] { ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".pdf", ".odt", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".rtf", ".txt" };

    if(userFileUpload.Length > maxFileSize)
    {
        return BadRequest("Maximum file size exceeded");
    }

    if(!allowedExtensions.Contains(Path.GetExtension(userFileUpload.FileName)))
    {
        return BadRequest("This file is not a valid file type.");
    }

    if (treasureId == Guid.Empty)
    {
        return BadRequest("No treasureId was provided");
    }

    if (await _mediaFolderEngine.CopyFile(userFileUpload, treasureId))
    {
        return Ok();
    } 
    else
    {
        return StatusCode(StatusCodes.Status500InternalServerError);

    }
}

1 Ответ

1 голос
/ 14 июля 2020

Ok () возвращает код состояния 200, это означает, что запрос был успешным, если вы хотите добавить с ним собственное сообщение, вы можете сделать это следующим образом

public IActionResult GetEmployees()  
{  
  return Ok("My Message");  
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...