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
}
}