合并来自两个REST端点的结果



我是C#和RESTapi的新手。

所以,我有一个端点A,它以城市名称或城市名称和公司ID(唯一ID,可以是ID列表(作为返回公司信息的请求。比如公司名称、地址、联系人。

然后我有端点B,它接受相同的请求并返回不同的信息。比如业务结构类型、员工数量和收入。

现在,我需要第三个端点来返回公司名称、地址、联系人、业务结构类型、员工人数和收入。

实现这一点的更好方法是什么?起初,我想只调用端点A,使用返回的公司ID来调用端点B。但我不知道如何保留公司名称、地址、联系人等数据。

我认为的另一种方法是根据公司ID合并两个结果。有没有一种简单的方法可以处理JSON数据?

我会这样做:

/companies?city={city}
/companies?id[]={id1}&id[]={id2}&id[]={id3}...
/companies/{id}
/companies/{id}/profile
/companies/{id}/structure

我从第二个中删除了城市名称,因为id是唯一的。

如果您需要比这更复杂的东西,那么您可能需要一种URI查询语言或使用SEARCH方法来发送更复杂的搜索表达式,例如JSON、SQL、LD片段等…或某种自定义DSL。

最新更新