V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
khowarizmi
V2EX  ›  程序员

Boolean 属性的值进行 update 操作,接口怎样设计比较好?

  •  
  •   khowarizmi · Apr 29, 2015 · 3313 views
    This topic created in 4016 days ago, the information mentioned may be changed or developed.

    对一个 Boolean 类型的属性进行 update 操作,怎样设计接口比较合适?
    以下是我想到的两种方式:

    POST /site/:siteID/published
    { published: true}

    POST /site/:siteID/published/active

    大家都是怎么做的?

    9 replies    2015-04-30 13:24:22 +08:00
    hahasong
        1
    hahasong  
       Apr 29, 2015   ❤️ 1
    POST /site/:siteID/set_published
    {status : true/false}
    Cee
        2
    Cee  
       Apr 29, 2015   ❤️ 1
    published
    unpublished
    Charles0429
        3
    Charles0429  
       Apr 29, 2015   ❤️ 1
    https://developer.github.com/v3/users/followers/#follow-a-user 贴一个github的例子,用POST和DELETE分别实现关注和取消关注。
    khowarizmi
        4
    khowarizmi  
    OP
       Apr 29, 2015
    @Charles0429
    你说的是在创建和删除关系的实例了,使用的 PUT 和 DELETE 方法。
    我问的是,如何更新一个 Boolean 的属性。
    raincious
        5
    raincious  
       Apr 29, 2015   ❤️ 1
    @khowarizmi 他的意思应该是:

    POST /site/:siteID/published // Set published => true
    DELETE /site/:siteID/published // Set published => false

    我倒是觉得
    POST /site/:siteID/published
    { published: true}
    这个方法挺好。那么纠结程序都写出来了。
    khowarizmi
        6
    khowarizmi  
    OP
       Apr 29, 2015
    @raincious
    那就先采用了传一个对象去更新属性吧,THX。
    iyangyuan
        7
    iyangyuan  
       Apr 29, 2015 via iPhone   ❤️ 1
    首先,restful设计中,uri中不能出现动词,修改一般用put请求,至于如何传值,既然这个值是实体的一个属性,难么直接用实体去接收就好了,直接传对象的一个属性即可。
    个人见解,仅供参考。
    khowarizmi
        8
    khowarizmi  
    OP
       Apr 30, 2015
    @iyangyuan right,确实应该用 PUT
    vampirekiss
        9
    vampirekiss  
       Apr 30, 2015
    PATCH /site/:siteID
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1469 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 17:06 · PVG 01:06 · LAX 10:06 · JFK 13:06
    ♥ Do have faith in what you're doing.