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

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

  •  
  •   khowarizmi · Apr 29, 2015 · 3912 views
    This topic created in 4216 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
    hahasong
    Apr 29, 2015❤️1
    1
    POST /site/:siteID/set_published
    {status : true/false}
    Cee
    Cee
    Apr 29, 2015❤️1
    2
    published
    unpublished
    Charles0429
    Charles0429
    Apr 29, 2015❤️1
    3
    https://developer.github.com/v3/users/followers/#follow-a-user 贴一个github的例子,用POST和DELETE分别实现关注和取消关注。
    khowarizmi
    khowarizmi
    OP
    Apr 29, 2015
    4
    @Charles0429
    你说的是在创建和删除关系的实例了,使用的 PUT 和 DELETE 方法。
    我问的是,如何更新一个 Boolean 的属性。
    raincious
    raincious
    Apr 29, 2015❤️1
    5
    @khowarizmi 他的意思应该是:

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

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