REST api - 从视图中使用 POST 更新 table

REST api - Updating table with POST from view

我是 RESTful Web 服务的新手,仍在研究 design/architecture 方面与 MVC 模式的结合。我正在使用 Codeigniter 框架来实现 MVC。

我有一个非常简单的问题。我正在使用表单数据来更新数据库中的 table。我写了一个 api 可以做到这一点:

http://www.example.com/api/resource/tablename/?param1=info1...

典型 api。我想知道的是,在 MVC 模式中,我应该在我的 VIEW 中使用 cURL 来处理 POST 数据并使用表单数据更新我的 table 还是应该发送 POST数据到我的控制器并从控制器调用 api 来更新 table。

在我看来,这似乎是武断的,因为两者都会完成同样的事情,但标准做法是什么?可以直接从VIEW跟你沟通api更新你的数据库table吗??

在不了解更多关于您的预期应用的情况下,我可以这样说:

通常情况下,如果可能,您希望尝试将任何处理逻辑 (PHP) 排除在您的视图之外。控制器的全部意义在于处理模型中的事务操作,然后将其传递给视图。因此,如果您使用 API 从服务中收集一些数据,而这些数据在您的视图中是 used/manipulated ,那么该数据的逻辑位置将在控制器中。

MVC 模式并不是 X 进入 Y 和 Y 进入 Z 的硬性规定。它是一种可以轻松扩展和抽象数据收集、处理逻辑和可视化布局的模式。

技术上取决于应用程序以及您计划如何使用它,您可以为 API 创建一个模型,以便它可以在多个控制器中使用,而无需重新编写它。

Is it okay to directly communicate with you api from the VIEW to update your db table??

是的,这是...事实上,在这种情况下您几乎应该这样做!将您的数据直接发送到 API。如果任何数据验证失败或执行任何需要的操作,您的 API 应该执行所有数据验证和 return 错误消息(以 JSON、XML 等标准化格式)处理发布的数据。这样做的一大好处是您的 API 可以被任何调用者使用,并且它本身就是一个完整的生态系统。