Zed*_*Bee 5 architecture asp.net asp.net-web-api
我在项目中使用Web api公开数据,这些数据又打算由移动应用程序和Web应用程序使用。
我想知道公开数据的最佳实践是什么。
例如,我有一个客户注册表格,其中捕获了包括城市和国家在内的客户详细信息。
公开数据的一种方法是为城市和国家/地区设置单独的控制器,并在客户注册表单上分别调用二者,以便为城市和国家/地区加载数据。
这种方法的问题是,如果必须加载数百个字段,则必须对api进行一百次不同的调用才能加载数据,因此应用程序将变慢。
第二种方法是设计api层,以使一个控制器公开表单/屏幕(客户注册)所需的所有查找数据(城市,国家/地区)。在这种情况下,我将必须对api进行一次调用才能获取所有必需的数据。
感觉就像,使用第二种方法,我违反了关注分离。
往哪走?
不能把 UI 层和 API 层分开吗?
我认为您不应该创建 API 来获取国家/地区或其他任何侧面引用,如果它们不是您域的核心部分。
我想您应该只公开用于api/v1/users用户注册的资源端点,它需要有效的用户数据进行注册。
另外,您应该公开/usersUI,这将生成完整的 UI,包括您需要的所有列表并将其呈现给用户。该 UI 控制器将在内部调用您的域模型,而不是通过 API 来获取生成 UI 所需的所有详细信息。然后客户端的 UI 将使用用户选择的数据调用 API 控制器来注册用户。
这适合您的开发模式吗?
| 归档时间: |
|
| 查看次数: |
604 次 |
| 最近记录: |