修补程序api应该如何处理部分正确和部分不正确的数据?

时间:2019-03-12 06:43:03

标签: rest api web-services

我有一个补丁API,可以接受订单的帐单和收货地址。 Http修补程序方法用于此api。

只有完全提供名字,姓氏,街道,城市,邮政编码,国家/地区后,这两个地址才是正确的。如果这些字段中的任何一个丢失,它将被视为不完整的地址,因此无效的地址应由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"
    }
}

1 个答案:

答案 0 :(得分:0)

https://en.wikipedia.org/wiki/Patch_verb PATCH方法是原子的。[1]由PATCH方法指定的所有更改都已应用,或者服务器未应用任何更改

https://tools.ietf.org/html/rfc5789 PATCH既不安全也不具有幂等性 服务器必须以原子方式应用整个更改集,并且决不    提供(例如,响应此操作期间的GET)    部分修改的表示形式。如果整个补丁文件    无法成功应用,则服务器不得应用以下任何一项    变化。