猿问

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

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

慕尼黑8549860
浏览 820回答 3
3回答

慕后森

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

手掌心

REST API 只是对外暴露服务,逻辑应该在业务层实现。class Doctor{ private Integer id; private String name; private List<Patient> patients; .... }业务层获取List<Doctor>,序列化为JSON或者XML,前端发送一次HTTP请求,调用该REST API,从而获取这个JSON或者XML

繁星点点滴滴

这个业务认真想想,还是非常的复杂。从楼主的提问出发。其实这个问题可以理解为:“病人们的医生是谁?!”,也可以理解为,“医生们的病人们”(指的是数据库已有的数据,不区分“已处理”和“正在处理”等这些状态) 怎么去实现这个业务呢? 基于上面思路出发,REST API的路径就是这样 “/doctors/patients”(小学英文) 从数据库查询出所有的医生,再根据医生和病人的关系表获取每个医生下面的所有病人。 我会拼装成一个这样的JSON数据{ datas:[ { "docName":"医生名称", "patients":[ {"patientName":"病人名称"},{...},{} ] }, .... ] }
随时随地看视频慕课网APP

相关分类

Java
我要回答