有一个接口的功能是”确认“某个对象。 我的 Restful API 设计成 PUT /obj/{id}/is_confirmed/{is_confirmed} String id, boolean is_confirmed 这个接口符合 Restful 规范吗? 类似的 URL 你们怎么设计?
1
chinvo 2020-09-21 17:33:11 +08:00
用 PATCH
PUT 就是覆盖 而一般来说接口要避免路径过长 |
2
chinvo 2020-09-21 17:34:28 +08:00
|
3
chendy 2020-09-21 17:51:54 +08:00
PUT /obj/{id}/_confirm 自定义一个动词就行了
|
4
Oktfolio 2020-09-21 18:29:31 +08:00
Patch 修改部分值可以使用 Json Patch 。
至于上述这种接口,可以单独开一个,没必要完全遵照 REST 来定义接口,好用直观就行。 接口最好使用 "-" 而不是 "_" 噢。 |
5
chinvo 2020-09-21 19:57:21 +08:00
@chendy #3 自定义动词各家实现不太一样, Google 家为了避免和次级资源名冲突(或造成误解), 用的是 PUT /obj/{id}:confirm 这种形式
|
7
wizardoz 2020-09-22 10:55:21 +08:00
不符合,用 PATCH 方法就行
PATCH /obj/{id}/ { "is_confirmed": true } |