繁体   English   中英

如何使用Web API 2在MVC中进行模型验证?

[英]How to do Model validation in MVC with Web API 2?

我是Web API2的新手。 我的解决方案有3个项目(MVC,WebAPI2,EF的类库)。 我对此表示怀疑。

1)将WebAPI和MVC保留为单独的项目,以分离关注点。 建议还是将两个项目都保留在一个项目中?

2)使用WCF,我们可以在MVC中获取服务引用以利用所有数据库类模型,以便在MVC中轻松搭建控制器并添加模型验证。 如何使用Web API2做到这一点,因为我在MVC for DB类中没有参考。 我是否需要在MVC项目中创建重复的DB类模型以用于脚手架和模型验证?

您的标题使我有些困惑,但是可以使用验证属性来完成模型验证。 我将尝试在您的问题帖子正文中回答问题。

这取决于您期望如何使用MVC和WebApi项目。 请记住,如果它们在同一个项目中,则可能会使事情变得更轻松,因此您不必太担心RPC。 但是谁知道您打算如何使用它们。

WebAPI通常用于与您自己系统以外的系统集成。 因此,高度可自定义(反)序列化和请求/响应处理。 用于WebAPI控制器的模型通常是指定或提供给与接口集成的系统的。

用于WebAPI或MVC控制器的模型应与ORM的实体模型分开。 您要执行此操作的原因是,实体模型中的数据并不总是适合使用视图或从视图发送回控制器的视图模型验证。

在这两种情况下,都应该设计用于连接WebAPI和MVC控制器的模型,以适应您的用例,并且应与实体模型充分分离,以实现持久性。

因此,要回答第二个问题,您可能只需要一组实体模型和一个dbcontext实现,但所有这些都放在自己的项目中,因此,如果您确实有单独的MVC和WebAPI项目,则它们都依赖于该EF项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM