我正在使用 Web API 进入 ASP.NET Core 2.0。我的第一个方法之一是我的登录:/// <summary>/// API endpoint to login a user/// </summary>/// <param name="data">The login data</param>/// <returns>Unauthorizied if the login fails, The jwt token as string if the login succeded</returns>[AllowAnonymous][Route("login")][HttpPost]public IActionResult Login([FromBody]LoginData data){ var token = _manager.ValidateCredentialsAndGenerateToken(data); if (token == null) { return Unauthorized(); } else { return Ok(token); }}我LoginData使用 DataAnnotations:public class LoginData{ [Required] [MaxLength(50)] public string Username { get; set; } [Required] public string Password { get; set; } [Required] [MaxLength(16)] public string IpAddress { get; set; }}因此,ModelState当登录发生时我的自动填充良好,例如密码为空(当然在客户端也应该稍后对其进行验证)。最好的方法是什么检查模型状态,从所有错误中获取可读字符串返回一个BadRequest有这个错误?当然,我可以用辅助方法自己编写。但我想过一个过滤器吗?
3 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
我强烈推荐使用[ApiController]
和其他有助于简化基于 Web API 的项目中的验证的属性。
[ApiController]
此属性在进入方法之前为您对模态进行所有基本验证。因此,如果您想进行某种形式的自定义验证,您只需检查模态。
- 3 回答
- 0 关注
- 181 浏览
添加回答
举报
0/150
提交
取消