首页 > REST API如何查询与关系表相关的资源

REST API如何查询与关系表相关的资源

比如说我有一个医生表,病人表,医生病人关系表,
web想展示所有医生的信息以及每个医生对应的病人(多对多的关系)的名字。
这样的话,是不是要
先请求所有医生资源
然后发送根据每个医生的id查找关系表的请求获得病人的id
再根据id发送查找病人名字的请求
这样的话前端就要发送1+n+n个请求。


REST API 只是对外暴露服务,逻辑应该在业务层实现。
class Doctor{

private Integer id;
private String name;
private List<Patient> patients;
....

}
业务层获取List<Doctor>,序列化为JSON或者XML,
前端发送一次HTTP请求,调用该REST API,从而获取这个JSON或者XML


http请求代价很高,应该在业务层api接口中实现中查询组装好后一次返回。


这个业务认真想想,还是非常的复杂。
从楼主的提问出发。
其实这个问题可以理解为:“病人们的医生是谁?!”,也可以理解为,“医生们的病人们”(指的是数据库已有的数据,不区分“已处理”和“正在处理”等这些状态)

怎么去实现这个业务呢?

基于上面思路出发,REST API的路径就是这样 “/doctors/patients”(小学英文)

从数据库查询出所有的医生,再根据医生和病人的关系表获取每个医生下面的所有病人。

我会拼装成一个这样的JSON数据
{

datas:[
    {
        "docName":"医生名称",
        "patients":[
            {"patientName":"病人名称"},{...},{}
        ]
    },
    ....
]

}

【热门文章】
【热门文章】