【问题标题】:Getting UI display related data from the API从 API 获取 UI 显示相关数据
【发布时间】:2020-10-25 05:49:51
【问题描述】:

从最佳实践的角度来看,是否可以通过 API 获取需要在 UI 上显示的友好名称(也就是描述)之类的内容?或者 API 是否应该忽略数据是如何向用户显示的?

【问题讨论】:

  • 除了从 api 获取用户数据,还有什么其他方法?
  • 在 Angular 应用程序中的 api 命名和 UI 之间有一个映射。但是这样做的问题是,在对 api 的任何请求中过滤或使用它们时,我需要来回切换。

标签: angular asp.net-web-api architecture software-design


【解决方案1】:

我认为从 API 中获取它很好。请注意,如果您支持多种语言,则需要返回多个标签或向 API 调用添加语言参数。

在 Angular 应用程序中的 api 命名和 UI 之间有一个映射。但是这样做的问题是,在对 api 的任何请求中过滤或使用它们时,我需要来回切换。

我明白为什么使用双向地图感觉不对,为此我建议您将这些字段作为对象处理。一个对象将有一个与 API 模式相对应的规范名称(称为 slugcanonicalidvalue 等)和一个或多个 UI 标签(labeltitletranslationsingularpluralen/es/de 等)。最简单的形式:

interface Field {
    value: string;
    label: string;
}

当您的应用从 API 接收到这个 Field 对象时,它应该将它作为一个完整的对象传递。 UI 组件将通过访问特定属性来显示标签文本。但他们也可以访问整个对象,因此他们可以使用规范值发出 API 请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-03
    • 2014-10-19
    • 2017-08-31
    • 2018-11-10
    • 2017-08-15
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多