我在我的项目中使用web api来公开数据,而这些数据又是供移动应用程序和Web应用程序使用的。
我想知道公开数据的最佳做法是什么。
例如,我有一份客户登记表,我在其中捕获客户详细信息,包括城市和国家。
公开数据的一种方法是为城市和国家/地区设置单独的控制器,并在客户注册表单上单独调用两者,以便为城市和国家/地区加载数据。
这种方法的问题是,如果我必须加载100个字段,我将不得不对api进行一百次不同的调用来加载数据,因此应用程序将很慢。
第二种方法是设计api层,使得一个控制器公开表单/屏幕(客户注册)所需的所有查找数据(城市,国家)。在这种情况下,我将只需要对api进行一次调用即可获得所有必需的数据。
感觉就像是,使用第二种方法我违反了关注点。
走哪条路?
答案 0 :(得分:1)
您是否只能拆分UI和API图层?
如果它们不是您网域的核心部分,我认为您不应该创建API来获取国家/地区或其他任何辅助参考。
我猜你应该公开api/v1/users
资源端点进行用户注册,这需要有效的用户数据进行注册。
另外,您应该公开/users
UI,它将生成完整的UI,包括您需要的所有列表并将其呈现给用户。此UI控制器将在内部调用您的域模型,而不是通过API来获取生成UI所需的所有详细信息。然后客户端的UI将使用用户选择的数据调用您的API控制器来注册用户。
那套件是你的开发模型吗?