2
如何设计API端点以发布子对象并获取所有父母的所有孩子?
例如,我有以下实体:客户,报告。客户可能有很多报告,我认为单个报告管理的端点应该像这样嵌套: /clients/{client_id}/reports/{report_id} 至于一位客户的所有报告,预期会: /clients/{client_id}/reports 但是应该如何寻找一个端点来获取所有客户端的所有报告,以保持API的一致性和良好的设计。 我的方法: (我在某些Google API中看到了它)使用“-”代替它,并将其解析为“全部”: /clients/-/reports 这使端点格式保持不变,但看起来有点不正常,找不到任何以此方式建议的rfc。 为所有报告创建一个单独的端点: /reports 但是要获得客户报告,它仍然是: /clients/{client_id}/reports 重构端点以使“客户端”不是父代,而只是一个过滤器参数: /reports?client={client_id} -一位客户的报告 /reports -所有客户的报告 如果添加新的端点以发布特定客户端的报告,则该外观可能很难看,因为它将是带有URL中参数的POST请求。 还有其他建议吗?
12
rest
api
api-design