Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wcf 需要定义一个通用的web服务API来处理从DB中提取一组动态字段_Wcf_Api_Generics_Service - Fatal编程技术网

Wcf 需要定义一个通用的web服务API来处理从DB中提取一组动态字段

Wcf 需要定义一个通用的web服务API来处理从DB中提取一组动态字段,wcf,api,generics,service,Wcf,Api,Generics,Service,需要帮助定义通用web服务API,该API将为数据库中给定类型的给定记录返回一组动态/可配置的字段值。web服务是供应商的,但我们可以控制API定义/设计。目标是定义这个API 背景: 我们有一个由SaaS供应商托管的数据库。DB包含各种类型的表,例如申请人、应用程序、位置等。供应商公开了一个Web服务,我们可以调用它来检索数据。我们有一组新的需求,供应商将支持这些需求更新其web服务的API 要求: 1.存储和检索可配置字段列表的介质: 我们必须想出一种方法,将要从数据库中检索的字段存储在配置

需要帮助定义通用web服务API,该API将为数据库中给定类型的给定记录返回一组动态/可配置的字段值。web服务是供应商的,但我们可以控制API定义/设计。目标是定义这个API

背景:

我们有一个由SaaS供应商托管的数据库。DB包含各种类型的表,例如申请人、应用程序、位置等。供应商公开了一个Web服务,我们可以调用它来检索数据。我们有一组新的需求,供应商将支持这些需求更新其web服务的API

要求:

1.存储和检索可配置字段列表的介质: 我们必须想出一种方法,将要从数据库中检索的字段存储在配置介质中的给定记录中——该介质将包含一个数据类型列表,其中包含要为每个记录提取的相关字段。此介质驱动从web服务检索给定记录的内容

配置媒体可以包含具有以下字段的申请者数据类型:ID、FirstName、LastName。这意味着我们在提取申请者类型的记录时只要求这3个字段。可随时更改/编辑此可配置数据

2.仅检索指定字段的通用Web服务API 第二个要求是构造一个与上述可配置字段列表协同工作的通用API。我们希望以一种通用的方式调用供应商的web服务接口,该接口采用记录id、数据类型和每个配置数据的动态字段集。泛型是指供应商的web服务应该只知道在运行时要检索的字段。这意味着,我们可以根据需要更改配置源字段或数据类型,而不会对web服务API产生任何影响

问题/想法包括:

a配置存储: 我们在配置文件、数据库或web服务中管理我们端的配置。有没有更好更通用的方法?在这种情况下,发布给定数据类型的字段列表的web服务有意义吗

b使web服务通用化:

-在每次调用web服务来检索给定记录的数据时,我们都会将要拉取的动态字段集作为输入参数发送—可能作为对象或列表,等等


-我们不在每次调用时发送列表,而是将记录id和类型发送到web服务,web服务查找要从web服务中提取的字段。最简单的方法是将功能公开为某种RESTful web服务。即,对于申请人,您将拥有/db/applicator/返回所有申请人或申请人ID的列表,如果123是申请人ID,您将检索/db/applicator/123。最简单的方法是检索JSON对象,如

{'first_name':'Joe', 'last_name':'Applicant', 'address':'123 Test Drive'}
此外,还可以添加一个参数,对感兴趣的字段进行编码,例如/db/applicator/123?fields=first\u name+last\u name

如果您觉得值得,那么使用JSON或XML进行额外的工作比CSV或其他替代方案具有优势,因为您返回的字段集是可扩展的——即,如果一个客户机需要一个shoe_size字段,另一个客户机的响应可以包含它,并且所有内容都仍然有效