首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要定义一个通用的web服务API来处理从DB中提取一组动态字段

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

Stack Overflow用户
提问于 2011-06-23 20:03:53
回答 1查看 761关注 0票数 0

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

背景:

我们有一个由SaaS供应商托管的DB。DB包含各种(“类型”)表,如申请者、应用程序、位置等。供应商公开了一个我们可以调用以检索数据的we服务。我们有一套新的需求,将由供应商支持更新他们的web服务的API。

所需经费:

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

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

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

Q/Thoughts包括:

( a)配置存储:我们在配置文件、DB或web服务中管理配置。有没有更好的更通用的方法来做到这一点?在这种情况下,web服务(发布给定数据类型的字段列表)是否有意义?

( b)使网络服务“通用”:

--在“每个”调用web服务以检索给定记录的数据时,我们发送一组动态字段作为输入param --可能作为对象或列表,等等。

--而不是在“每个”调用上发送列表,我们只将记录id和类型发送到web服务,web服务查找要从我们的web服务中提取的字段。

EN

回答 1

Stack Overflow用户

发布于 2011-06-23 20:15:29

最简单的方法是将功能公开为某种RESTful web服务。也就是说,对于申请者,您将让/db/applicant/返回所有申请者(或申请者ID )的列表,如果123是申请者ID,则将检索/db/applicant/123。最简单的方法是检索JSON对象,如

代码语言:javascript
复制
{'first_name':'Joe', 'last_name':'Applicant', 'address':'123 Test Drive'}

此外,您还可以添加一个参数来编码您感兴趣的字段,例如/db/applicant/123?fields=first_name+last_name

使用JSON (或者XML,如果您认为额外的工作是值得的)与CSV或其他替代方法相比具有优势,因为您返回的字段集是可扩展的--也就是说,如果一个客户端需要一个shoe_size字段,则另一个客户机的响应可以包含它,而且一切都仍然可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6459935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档