跳至正文
首页 » 博客 » 数据功能概述

数据功能概述

App Builder 数据功能允许用户在他们正在开发的应用程序中添加、编辑和使用外部数据源。默认情况下,App Builder 附带一个模拟 Northwind 数据源,用户可以将其用作参考。您可以在下面找到设置 Rest API 数据源的不同方法:

  • 通过将 Rest API URL 与数据源结合使用。
  • 通过使用 Swagger URL 或文件定义 (json/yaml)。

如果您在删除“上传 .json 文件”功能之前已在应用程序中上传了数据源,您将收到请求“无法从’X’检索,现在正在切换到模拟数据响应”的通知。

所有添加的数据源都放置在 data 工具箱中,用户可以展开/折叠每个数据源,以便查看包含的表和选定的字段。

App Builder 还支持响应对象内的嵌套集合。现在,您可以引入 API,将返回集合包装在元数据对象(例如 oData 等)中,并将嵌套集合用于数据绑定组件(如 Grid)或基于它执行重复作。

添加数据源

App Builder 数据功能使用户能够链接到外部公开可用的来源 (Rest API)

添加 Swagger 数据源

Swagger 工具的强大功能始于 OpenAPI 规范,这是 RESTful API 设计的行业标准。

您现在可以指定 Swagger 定义(通过提供文件 URL 或直接上传它),直观的设计将帮助您轻松地在数据字段中选择终端节点。稍后可以将此数据源绑定到 Grid、Card、List 等组件或任何其他可绑定组件。

使用来自本地网络源的数据源

您现在可以向 localhost 或私有网络发出请求。这包括常规 REST 终端节点和 Swagger 终端节点。

故障 排除

如果您在使用专用网络时收到错误对话框,则此部分可帮助解决问题。

由于使用本地网络的本质,此类错误需要额外的工作,以确定本地/私有服务是否由于 CORS 问题(跨域请求)或其他原因而失败。

如果在添加本地服务时出现 请求失败 对话框,请打开浏览器的开发工具(按 F12)并检查控制台/网络选项卡是否有错误。最可能的原因是 CORS 限制。

在 ASP.NET Core 中启用跨域请求 (CORS)

本文介绍如何在 ASP.NET Core 应用程序中启用 CORS。您可以确保 Web 应用程序生成器添加允许所有或特定源的 CORS 策略:

var builder = WebApplication.CreateBuilder(args); var MyAllowSpecificOrigins = “_myAllowSpecificOrigins”; // Add services to the container. builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddCors(options => { options.AddPolicy(name: MyAllowSpecificOrigins, policy => { policy.AllowAnyOrigin(); }); });

设置。UseCors() 的 API 请求

var app = builder.Build(); app.UseCors(MyAllowSpecificOrigins); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); }

使用 IIS 管理器、web.config 或 C 启用 CORS

请按照以下步骤作,以便使用 IIS 启用对内部托管数据源的访问

  • 在服务器或本地 PC 上打开 IIS 管理器。
  • 导航到您需要编辑其响应标头的网站。
  • 从与您正在编辑的站点相关的列表或图标中,从中间窗格中选择“HTTP Response Headers”,如下图所示
  • 双击 “HTTP Repsonse Header”
  • 现在,单击右侧窗格中的“添加”
  • 将打开一个对话框。对于 name (名称),输入 “Access-Control-Allow-Origin”,对于 Value (值),输入星号 (*)。
  • 点击 好的,你完成了。

您只需通过在 asp.net 网站的 web.config 文件中添加配置或在 global.asax 文件中添加一些代码来启用 CORS。

OpenAPI (Swagger) 端点灰显

这通常意味着终端节点没有定义的响应或响应类型不受支持。

如果您的 API 没有向 Swagger 提供足够的信息来创建正确的响应描述,则可能会发生这种情况。

无法与 App Builder 一起使用的终端节点示例:

请注意,它描述了一个 200 个 “text” 响应,其中没有其他类型的信息。

具有足够信息以使用 App Builder 的终端节点示例:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注