.NET core web api отправляет неверный запрос клиенту - PullRequest
0 голосов
/ 25 августа 2018

Я пишу веб-API в основном веб-проекте .net.

// POST: api/Companies
[HttpPost]
public void Post([FromBody]string value)
{
    if (string.IsNullOrEmpty(value))
    {
        // inform the client that request is incorrect.
    }
}

Я хочу иметь возможность сообщить клиенту, что это плохой запрос, я нашел много статей, но всем было 1-2 года, и я уверен, что с тех пор многое изменилось. Поэтому хотелось узнать лучшее решение этой проблемы.

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Рекомендуемый способ сделать это, изменив сигнатуру вашего метода на:

[HttpPost]
public IHttpActionResult Post([FromBody]string value)
{
    if (string.IsNullOrEmpty(value))
    {
        return BadRequest("Value must be passed in the request body.");
    }
    else
    {
        return Ok("Request was correct");
    }
}

Возвращая IHttpActionResult, вы можете вызвать Ok(...) method, BadRequest("reason") и другие встроенные типы, такие какВы можете найти на страницу документации HttpActionResult

0 голосов
/ 25 августа 2018

Метод BadRequest, объявленный в классе ControllerBase, создаст ответное сообщение 400. Это было в течение многих лет (новые версии, почти такая же реализация), и это надежно, так что используйте это

[HttpPost]
public IActionResult Post([FromBody]string value)
{
    if (string.IsNullOrEmpty(value))
    {
        return BadRequest("request is incorrect");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...