后端Web服务API是否具有MVC中的视图?

时间:2016-07-07 19:35:46

标签: model-view-controller api-design

让我们说我有一个后端Web API。它接受一个Web请求并返回一些json。然后其他服务使用json并按照它们的意愿行事。

我的问题是双重的:
1)这个后端Web API在技术上是否有视图(v在MVC中)?
我的想法是否定的,因为它实际上并没有向用户显示任何前端。
2)返回的JSON对象是否代表模型(MVC中的m)?

谢谢!

1 个答案:

答案 0 :(得分:3)

  

1)这个后端Web API在技术上是否有视图(v在MVC中)?我的   思考是不行的,因为它实际上并没有显示任何前端   用户。

你是对的,它没有真正的视图。

Web API本身只是返回一些请求的数据或者向用户指示请求是否正确执行(例如,一个JSON格式的对象,表明用户已创建,一组用户对象,等)

虽然前端可以调用API然后使用该信息来呈现某些东西,但是它自己的Web API不会做那样的事情。

  

2)返回的JSON对象是否代表模型(MVC中的m)?

它可以。

MVC模式的每个组成部分都起着重要作用:

  • 控制器 - 负责数据访问和可能填充模型等事宜。
  • 模型 - 负责代表已访问的数据或某些类型的操作。
  • 查看 - 负责获取从控制器传递的模型并将其提供给用户。

在这种情况下,当您点击Controller时,您可能会访问某些类型的数据并构建模型。这个模型可能会使用您自己设计的一些业务逻辑,或者它可能只是从数据层返回的内容,无论是哪种方式,模型,无论它是如何创建的仅仅代表某种类型的数据。

“Model”在这种情况下可以是您可能决定传递给View的任何类型的数据。无论它是如何序列化的,如果它可以通过View或其他机制消费,您可以将其视为模型。