@DailyDDose

ASP.NET .NET Core Web Api -- почему параметры всегда null?

Что я делаю не так?
AuthController.cs
using Microsoft.AspNetCore.Mvc;
 
namespace WebApiServer.Controllers
{
    [Route("api/[controller]")]
    public class AuthController : Controller
    {
        // POST api/auth
        [HttpPost]
        public string Post([FromBody] string login, [FromBody] string pass)
        {
            System.Console.WriteLine("login: " + login);
            System.Console.WriteLine("pass: " + pass);
            if (
                (login == "dailydose" && pass == "iuwqfheiwqnef")
                ||
                (login == "admin" && pass == "iuwqfheiwqnef")
            )
            {
                return "SUCCESS";
            }
 
            return "ERROR";
        }
    }
}
5a50f301b3f76948726358.jpeg
  • Вопрос задан
  • 2244 просмотра
Решения вопроса 1
@kttotto
пофиг на чем писать
Атрибут FromBody может применяться только к одному параметру. Он нужен, когда Вы в теле передаете параметр простого типа. Если Вам нужно отправить несколько параметров пост запросом, сделайте сложный тип (dto, viewModel, как нравится)
public class AuthorizeModel
{
	public string Login { get; set; }
	public string Password { get; set; }
}

В этом случае атрибут можно не указывать.
Вот тут подробности.
Web API reads the response body at most once, so only one parameter of an action can come from the request body. If you need to get multiple values from the request body, define a complex type.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Монополия Санкт-Петербург
от 87 000 до 87 000 ₽
Enqo Москва
от 200 000 ₽
07 мая 2024, в 14:11
4000 руб./за проект
07 мая 2024, в 14:10
10000 руб./за проект
07 мая 2024, в 14:04
1300 руб./за проект