需要定义一个通用的Web服务API来处理从DB中抽取动态字段集

需要帮助定义一个通用的Web服务API,它将返回给定“类型”的给定记录的一组动态/可配置的字段值来自数据库。 Web服务是供应商的,但我们可以控制API定义/设计。目标是定义这个API。需要定义一个通用的Web服务API来处理从DB中抽取动态字段集

背景:

我们有一个SaaS供应商托管的数据库。数据库包含各种(“类型”)表格,例如申请人,应用程序,位置等。供应商暴露了我们可以调用的Web服务来检索数据。我们有一套新的需求将由供应商更新其Web服务的API来支持。

要求:

1.Medium用于存储和检索字段的配置清单: 我们必须想出一个方法来存储从数据库检索的字段(给定记录)在一个配置介质中 - 这个介质将包含一个数据类型列表以及为每个数据类型拉取的相关字段。这种媒介是驱动web服务中给定记录检索的内容。

例如,配置介质可以包含具有以下字段的“申请人”数据类型:ID,名字,姓氏。这意味着我们只会在申请“申请人”类型的记录时要求这3个字段。此可配置数据可随时更改/编辑。

2.“通用Web服务API”,以仅检索字段中指定 的第二个要求是构建亦随领域的上述配置列表适用的通用API。我们希望以一种“通用方式”来调用供应商的Web服务接口,该接口采用记录标识,数据类型和动态字段集(根据配置数据)。通过“通用”,我的意思是供应商的Web服务应该只知道在运行时检索的字段。这意味着,我们可以根据需要更改配置源(字段或数据类型),而不会对Web服务API产生任何影响。

Qs的/思想包括:

一)配置存储: 我们管理我们在一个配置文件,数据库或Web服务端的配置。有没有更好的更通用的方法来做到这一点?在这种情况下,Web服务(发布给定数据类型的字段列表)甚至有意义吗?

B)让网络服务“通用”:

- 兼论“每个”调用Web服务,以给定记录检索数据,我们发送的动态字段集拉作为输入参数 - 可能作为对象或列表等。

- 不发送“每个”呼叫列表,我们只是发送记录ID和类型到Web服务和Web服务查找字段拉来自我们的网络服务

回答:

最直接的方法是将功能公开为某种RESTful Web服务。即,对于申请人,您将有/db/applicant/返回所有申请人(或申请人ID)的列表,并且如果123是申请人ID,则您将检索/db/applicant/123。在最简单的方式,你会获取一个JSON对象,如

{'first_name':'Joe', 'last_name':'Applicant', 'address':'123 Test Drive'} 

此外,您可以添加编码你有兴趣,例如领域的参数/db/applicant/123?fields=first_name+last_name

使用JSON(或XML,如果您认为它值得额外的工作)比CSV或其他选择的优势在于,您返回的字段集是可扩展的 - 即,如果一个客户端需要shoe_size字段,另一个可以包括它,一切仍然有效。

以上是 需要定义一个通用的Web服务API来处理从DB中抽取动态字段集 的全部内容, 来源链接: utcz.com/qa/258041.html

回到顶部