我使用 AngularJS 作为前端和 Symfony2 后端的 Web 应用程序。我想做一个网络服务,这样我就可以拥有一个单页应用程序。我想知道我应该如何处理两层之间的数据交换。
考虑这个用例:
用户想要在应用程序中创建一个项目,并且必须指定它是作为该项目中的客户还是供应商。项目的创建者为项目命名和描述。然后他输入联系人的电子邮件地址(他们将是项目中的客户或供应商,具体取决于创建项目的用户的选择)。创建项目时,系统会检查联系人是否已注册,否则会发送邀请加入应用程序并等待。创建项目时无需邀请联系人,以后可以完成。
我想API如下:
POST http://app.com/api/projects
Request:
{
"name": "My Project"
"descrption": "My Project'description"
"vendor": {
"user_id": 3245
}
"client": "myclient@email.com"
}
Response:
{
"name": "My Project"
"description": "My Project'description"
"vendor": {
"user_id": 3245,
"name": "John Doe"
}
"client": {
"user_id": 2754,
"name": "Peter Doe"
}
"creator": {
"user_id": 3245,
"name": "John Doe"
}
}
所以我们可以看到创建项目时交换的数据类型不同。
我可以直接链接到我的模型应用程序(当然是在验证之后)吗?
我应该如何更新项目?
创建传输对象并管理到我的业务逻辑和一个用于输入和一个用于输出的 TransfertObject 会更好吗?