Как я могу изменить имя параметра в теле запроса? - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть эта модель 'LoginModel'.

public class LoginModel
{
    public string UserName { get; set; }
    public string Pssd { get; set; }
}

Я использую этот класс на контроллере, чтобы получить значения из тела следующим образом.

public object CheckLogin([FromBody]LoginModel logModel){}

Так что, чтобы иметь возможностьчтобы получить значения, я должен поместить это в запрос.

{
  "UserName": "username",
  "Pssd": "password"
}

Я хочу, чтобы параметр 'Pssd' был 'Password', сохраняя Pssd в качестве имени метода.Я уже пытался использовать эти атрибуты, но он все еще не работает.Когда я заменяю Pssd на Password внутри тела запроса, его значение становится нулевым.

    [JsonProperty("Password")]
    [JsonProperty(PropertyName = "Password")]
    [Display(Name = "Password")]
    [DataMember(Name = "Password")]

Я также пытался удалить [FromBody], но он все еще не работает.

1 Ответ

0 голосов
/ 18 февраля 2019

Вы пробовали с [BindProperty(Name ="password")]?

или попробуйте с простой буквой «пароль» [JsonProperty(PropertyName = "password")]

Рабочий образец.

[Route("test")]
[HttpPost]
public IActionResult Login([FromBody]LoginDto x)
{
    return Ok(x);
}

public class LoginDto
{

    public string UserName { get; set; }
    [Newtonsoft.Json.JsonProperty("password")]
    public string Pssd { get; set; }
}

запрос

{
  "username": "test",
  "password": "test"
}

Content-Type →application/json; charset=utf-8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...