如果在别处得到回答,请道歉;唯一的搜索结果出现了基于PHP的答案。
TL; DR - 可以在控制器类中声明ASP.NET API / MVC模型类,在执行此操作时是否有任何问题?
我有很多接受多个参数的控制器。根据{{3}}和this answer,一般的共识似乎是复杂类型参数最好,例如。
public class MyController : ApiController
{
[HttpPost]
public HttpResponseMessage Post([FromBody] MyModel ModelParam)
{
// do something with ModelParam.Param1, ModelParam.Param2, etc...
}
}
我总是把类放在应用程序的Models
文件夹中,但是我发现我的模型每个控制器只使用一次,所以我最终得到的模型和控制器一样多。
也许我在那里做错了,但是每个模型都可以存在于控制器中,所以相关逻辑在一起吗?例如......
public class MyController : ApiController
{
public class MyModel
{
public string Param1{ get; set; }
public DateTime Param2{ get; set; }
}
[HttpPost]
public HttpResponseMessage Post([FromBody] MyModel ModelParam)
{
// do something with ModelParam.Param1, ModelParam.Param2, etc...
}
}
我试过这个,似乎编译运行没问题。以前在使用webforms时,我通过在页面中放置类别(类似于“无法转换类型”MyClass“类似”MyClass“的类似间歇性错误)而感到非常痛苦。我很担心这种方法是否存在任何问题(或者是不好的做法)?