ASP.MVC ModelState.IsValid模型验证的坑

    xiaoxiao2021-08-15  171

    Eg:

    public class RefreshTokenModel { /// <summary> /// access_token /// </summary> [Required(ErrorMessage = "access_token can't be empty.")] public String access_token { get; set; } /// <summary> /// refresh_token /// </summary> [Required(ErrorMessage = "refresh_token can't be empty.")] public String refresh_token { get; set; } }

    接口的模型验证写法

    public async Task<IHttpActionResult> UserAccessToken([FromBody]RefreshTokenModel token) { if(ModeState.isValid){ //FK } }

    上面写法没错,但是使用的时候会有一个坑: 当Client发起请求的时候,根本没有POST 任何一个参数的时候,ModelState.isValid 为True,token对象为空….

    所以这里并不能完全信任Modelstate.isValid,使用token对象,要这样…

    public async Task<IHttpActionResult> UserAccessToken([FromBody]RefreshTokenModel token) { if(ModeState.isValid&&token!=null){ //FK } }
    转载请注明原文地址: https://ju.6miu.com/read-676373.html

    最新回复(0)