0

我有一个补丁 api,它接受订单的账单和送货地址。此 api 使用 Http 补丁方法。

只有当它们完全像名字、姓氏、街道、城市、邮编、国家一样提供时,这两个地址才是正确的。如果缺少这些字段中的任何一个,它将被视为不完整的地址,因此无效的地址应该被 api 拒绝。

问题是如果请求包含完整的帐单地址和不完整的送货地址会发生什么?它应该接受带有关于不完整交货地址的警告消息的帐单地址还是完全拒绝请求。

在这种情况下设计 api 的标准做法是什么?

示例请求正文就像

{
    "invoiceAddress": {
        "salutation": "M",
        "firstName": "Dieter",
        "lastName": "Wolf",
        "companyName": "",
        "street": "Michaelkirchstr.",
        "houseNo": "16",
        "zipCode": "31604",
        "city": "Raddestorf",
        "countryIsoCode": "DEU",
        "phone": "05763 82 60 80",
        "email": "DieterWolf@armyspy.com"
    },
    "deliveryAddress": {
        "salutation": "M",
        "firstName": "Dieter",
        "lastName": "Wolf",
        "companyName": "",
        "street": "Michaelkirchstr.",
        "houseNo": "16",
        "zipCode": "31604 ",
        "countryIsoCode": "DEU",
        "phone": "05763 82 60 80",
        "email": "DieterWolf@armyspy.com"
    }
}
4

1 回答 1

0

https://en.wikipedia.org/wiki/Patch_verb PATCH 方法是原子的。[1] 要么应用 PATCH 方法指定的所有更改,要么服务器不应用任何更改

https://www.rfc-editor.org/rfc/rfc5789 PATCH 既不安全也不幂等 服务器必须以原子方式应用整个更改集,并且从不提供(例如,在此操作期间响应 GET)部分修改的表示. 如果无法成功应用整个补丁文档,则服务器不得应用任何更改。

于 2019-03-14T06:07:42.273 回答