You need to enable JavaScript to run this app. RESTful API下查询单执业医师可预约时段的端点URL选型
优惠活动
大模型
产品
解决方案
定价
更多

RESTful API下查询单执业医师可预约时段的端点URL选型

适配现有资源体系的合规RESTful端点设计

你当前已经搭好了「门店为根节点,下属挂载医师、下属挂载预约记录」的嵌套路由结构,可预约时段本质是医师实体下的派生子资源——即医师自带的排班数据,扣除已被预约占用的时段后计算得出的结果,完全不需要重构现有路由逻辑,推荐采用如下端点:
GET /api/stores/:storeId/practitioners/:practitionerId/available-slots

  • 设计说明:
    • 完全贴合现有路由逻辑:你已配置的医师端点本来就挂载在门店路径下,保留这个层级仅把原来指代门店ID的模糊参数:id明确为:storeId,避免后续协作时的参数歧义
    • 路径中的:practitionerId用来定位要查询的指定执业医师
    • available-slots作为医师下属的独立子资源,路径中未嵌套操作类动词(例如不要写成/get-available-slots),完全符合RESTful「路径仅描述资源、不描述操作行为」的设计规范
  • 配套查询参数完全合规:
    日常查询可预约时段必然需要划定时间范围,直接在query参数中增加startDate、endDate即可,实际请求示例:
    /api/stores/101/practitioners/24/available-slots?startDate=2024-06-10&endDate=2024-06-16

不推荐的写法(容易破坏规范)

  • 不要把可预约时段的查询请求塞到/api/stores/:id/appointments端点下:该路径对应的资源是「已持久化的预约记录」,可预约时段是实时计算的派生数据,并非已存在的预约实体,混用会打乱资源边界
  • 如果后续业务需要支持医师跨门店兼职,可再将医师资源提升一级,改写为GET /api/practitioners/:practitionerId/available-slots即可;但按你当前给出的「医师单实体关联所属门店」的模型,完全没必要做这种结构调整。

内容的提问来源于stack exchange,提问作者Raffi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.06 03:45:06