RESTful API PUT / PATCH来翻转布尔值

时间:2016-06-06 20:20:00

标签: api rest boolean endpoint

在RESTful API上翻转布尔值的正确方法是什么?

例如,考虑一个users/toggle_middle_name端点。默认情况下,每个用户都不会显示他或她的中间名,除非他们通过点击端点选择加入。

显然,这不是GET端点,因为您要将信息写入数据库。但是,在PATCH/PUT请求中,我的一般理解是应该发送参数,表示正在设置的数据。因此,例如,人们会发送{show_middle_name: true}。但是,由于这只是服务器端的布尔值,理想情况下,您不需要知道在调用之前是发送true还是false。只需点击端点,它就会从一个端口翻转到另一个端点,而不会发送任何值。

接下来的问题是,可以在没有参数的情况下点击PUT / PATCH端点,只需在响应中返回结果吗?或者不鼓励参数较少PUT / PATCH API调用?为什么或为什么不呢?

1 个答案:

答案 0 :(得分:3)

简单地说:不要

在我看来,应该没有专门的资源来翻转布尔值,因为布尔本身并没有定义一个自包含的实体。

相反,我会将此属性设为User并在PATCH上使用

进行/users/john_doe
{
  "show_middle_name": true/false
}

comment from jonrsharpe适用。