• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hackingwu
V2EX  ›  程序员

Restful 接口,给某个对象的单个字段赋值,如何设计

  •  
  •   hackingwu ·
    hackingwu · Sep 21, 2020 · 2324 views
    This topic created in 2069 days ago, the information mentioned may be changed or developed.

    有一个接口的功能是”确认“某个对象。 我的 Restful API 设计成 PUT /obj/{id}/is_confirmed/{is_confirmed} String id, boolean is_confirmed 这个接口符合 Restful 规范吗? 类似的 URL 你们怎么设计?

    7 replies    2020-09-22 10:55:21 +08:00
    chinvo
        1
    chinvo  
       Sep 21, 2020
    用 PATCH

    PUT 就是覆盖

    而一般来说接口要避免路径过长
    chinvo
        2
    chinvo  
       Sep 21, 2020
    chendy
        3
    chendy  
       Sep 21, 2020
    PUT /obj/{id}/_confirm 自定义一个动词就行了
    Oktfolio
        4
    Oktfolio  
       Sep 21, 2020
    Patch 修改部分值可以使用 Json Patch 。

    至于上述这种接口,可以单独开一个,没必要完全遵照 REST 来定义接口,好用直观就行。

    接口最好使用 "-" 而不是 "_" 噢。
    chinvo
        5
    chinvo  
       Sep 21, 2020
    @chendy #3 自定义动词各家实现不太一样, Google 家为了避免和次级资源名冲突(或造成误解), 用的是 PUT /obj/{id}:confirm 这种形式
    rbut
        6
    rbut  
       Sep 22, 2020
    @Oktfolio 为什么是最好使用"-"呢
    wizardoz
        7
    wizardoz  
       Sep 22, 2020
    不符合,用 PATCH 方法就行

    PATCH /obj/{id}/

    {
    "is_confirmed": true
    }
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2789 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 11:51 · PVG 19:51 · LAX 04:51 · JFK 07:51
    ♥ Do have faith in what you're doing.