HttpPost с json с 'xx_yy' нельзя десериализовать в класс в mvc, используя dbentity, codefirst - PullRequest
0 голосов
/ 11 июня 2019

Я использую mvc в качестве webapi. Я использую почтальон с http://localhost:3818/users//GetVerifyCode,

, а тело - json: {"area_code": "86", "phone_number": "18758585640"}

У меня также есть класс:

public class User
    {
        public int ID { get; set; }
        public string Token { get; set; }
        [JsonProperty("area_code")]
        public string AreaCode { get; set; }
        [JsonProperty("phone_number")]
        public string PhoneNumber { get; set; }
    }

при вводе GetVerifyCode в UsersController, json не может быть успешно десериализован в класс (User), но если я изменю «area_code» на «areacode», то phone_numberна номер телефона, без подчеркивания, это будет успех.

public ActionResult GetVerifyCode(User user)
        {
            ResultInfo<string> resultInfo;
            if (user == null)
            {
                resultInfo = new ResultInfo<string>(ResultTypes.InvalidParam, "null param");
                return Json(resultInfo, JsonRequestBehavior.AllowGet);
            }
            string radomVerifyCode = VerifyCodeHelper.CreateVerifyCode(6);
            VerifyCode vc = new VerifyCode() {
                PhoneNumber = user.PhoneNumber,
                VerficationCode = radomVerifyCode,
                CreateTime = DateTime.Now.ToString()
            };
            if (VerifyCodeHelper.IsReSentInOneMinute(vc))
            {
                resultInfo = new ResultInfo<string>(ResultTypes.TooManyAttemptsInOneMinute, "Too many attempts in one minute");
                return Json(resultInfo, JsonRequestBehavior.AllowGet);
            }

            VerifyCodeHelper.VerifyCodes.Add(vc);
            resultInfo = new ResultInfo<string>(ResultTypes.OK, "success", radomVerifyCode);
            return Json(resultInfo, JsonRequestBehavior.AllowGet);
        }



enter code here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...