我想知道是否可能有类似的东西:
[HttpGet]
public JsonResult AddTextFile(string path)
{
if(string.IsNullOrEmpty(path))
{
// return error
}
}
但是在我的控制器方法中可能有很多参数的情况下,我不想对每一个使用string.IsNullOrEmpty()
。我知道我可以使用带有[Required]
字段指示符的视图模型,这样我就可以使用ModelState
,但因为这些都是API端点,所以我需要通过get参数获取信息。
是否有一种要求控制器方法参数的优雅方式,因此如果未设置任何控制器方法参数,它将返回一般响应消息?
答案 0 :(得分:1)
使用复杂对象作为参数:
[HttpGet]
public JsonResult AddTextFile(MyObject obj) {
if(!ModelState.IsValid) {
// return error
}
}
public class MyObject {
[Required]
public string Path { get; set; }
}
MyObject的属性将取自查询参数,例如:/ addtextfile?path = blah
模型验证将适用。