c# - REST API 多端点设计

我目前正在构建一个.NET Web API,它将在另一个仪表板项目中使用。目前,第一个端点返回给定日期范围内发送的包裹总数和包裹数组。

此 API 端点响应的示例如下所示

{
    "totalCount": 3,
    "data": [
        {
            "parcelId": 1,
            "parcelSentDate": "2022-04-25",
            "parcelCount": 1
        },
        {
            "parcelId": 2,
            "parcelSentDate": "2022-04-26",
            "parcelCount": 1
        },
        {
            "parcelId": 3,
            "parcelSentDate": "2022-04-27",
            "parcelCount": 1
        }
    ],
    "success": true
}

第二个端点返回包裹的总数,它们是提前、延迟还是准时送达,并且有一个包含送达日期和预计送达日期的包裹数组。

此 API 端点响应的示例如下所示

{
    "early": 1,
    "late": 2,
    "onTime": 0,
    "data": [
        {
            "parcelId": 1,
            "deliveredDate": "2022-05-04",
            "estimatedDeliveryDate": "2022-05-02",
        },
        {
            "parcelId": 2,
            "deliveredDate": "2022-05-01",
            "estimatedDeliveryDate": "2022-04-30",
        },
        {
            "parcelId": 3,
            "deliveredDate": "2021-05-26",
            "estimatedDeliveryDate": "2022-05-09",
        }
    ],
    "success": true
}

可以使用 parcels 数组中的第二个端点计算发送的包裹总数。我想知道的是,保留返回发送的包裹总数的第一个端点并保持分开是否仍然可以?还是只保留第二个端点并从中得出总包裹数更好,因为它将包含所有包裹信息?

这一切都归结为情况,这里没有正确或错误的答案吗?

回答1

您可以只保留一个端点,但可以根据您的业务需求使用任何特定参数(例如提前、延迟或准时)分开。如果这些参数通过,则返回第二个端点功能或只返回第一个端点功能。如果不需要这些参数,则只输入一个参数,如 with_specifications = true,然后返回第二个端点功能,否则如果它为 false,则返回第一个端点功能。

相似文章

随机推荐

最新文章