Почему параметры POST всегда равны нулю. NET Core API - PullRequest
2 голосов
/ 29 февраля 2020

Я создал простой. NET основной контроллер и пытаюсь запросить его у Angular.

Проблема заключается в том, что всякий раз, когда я отправляю запрос на публикацию своего действия входа в систему, я всегда получаю нулевые параметры! Странно то, что после исследования тело запроса / полезная нагрузка ясно показывают, что мои параметры установлены.

См. Мой скриншот для примера того, что я имею в виду. enter image description here

Я старался изо всех сил и читал через подобные проблемы в течение последних нескольких часов, но безуспешно ?

Так что мой вопрос является: Что вызывает мои нулевые параметры? . NET ядро ​​должно делать что-то, о чем я не знаю.

Если вы думаете, что поможет больше кода или весь проект, не стесняйтесь спрашивать!

Ответы [ 2 ]

4 голосов
/ 29 февраля 2020

Вы не можете получить два отдельных параметра из тела, потому что оно будет связывать email и password как свойства параметра, а не точные параметры. Вам необходимо создать объект, который определяет свойства с этими именами, и использовать этот объект в параметре

class Login 
{
   public string Email { get; set; }
   public string Password { get; set; }
}

В параметре метода действия

([FromBody]Login model)
2 голосов
/ 29 февраля 2020

Предлагаю создать класс со свойствами email и пароля. И использовать атрибут [FromBody].

public class LoginModel
{
   public string Email {get;set;}
   public string Password {get;set}
}

[HttpPost]
[Route("login")
public async Task<IActionResult> Login([FromBody] LoginModel model)
{
  // your code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...