asp.net-web-api - 查询参数 web api 上的自定义验证属性
问题描述
我有以下控制器,它将字符串格式的 guid 作为查询参数。
我想在执行该方法之前验证它们是有效的 guid,但我不确定如何触发我的自定义 ValidationAttribute:
控制器.cs
public async Task<Profile> GetProfile([ValidGuid] string id)
{
...
}
ValidGuidAttribute.cs
internal class ValidGuidAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
try
{
Guid.Parse(value.ToString());
return true;
}
catch (Exception e)
{
throw new InvalidIdException($"{value.ToString()} is an invalid id");
}
}
}
任何指出如何触发我的IsValid
方法的帮助将不胜感激。
解决方案
[Route("getprofile/{id:guid}")]
public async Task<Profile> GetProfile(string id)
{
...
}
推荐阅读
- java - junit test cases using mockito for query output
- python - Confusion in understand python commands for deep learning
- oracle-adf - 将用户和组从 WLS 获取到自定义页面
- mysql - MySQL在两个日期之间获取数据的问题
- php - 使用 AJAX 将 php 信息加载到 html 文档中
- api - 有没有办法在浏览器中编译代码(C/C++)?
- java - How to run SQL Expression Query without any underlying database
- postgresql - 如何在 postgresql 中返回 0 而不是 NULL?
- javascript - 如何使用 React 从 JSON 对象加载图像?
- google-analytics - 将 pageLoadTime 与其他维度和指标合并