什么是在RESTful API中翻转布尔值的适当方法?
例如,考虑一个 `users/toggle_middle_name` 端点。默认情况下,除非用户通过调用端点选择显示他或她的中间名,否则每个用户都不会显示其中间名。
显然,这不是一个 `GET` 请求,因为您将要向数据库写入信息。但是,在 `PATCH/PUT` 请求中,我的一般理解是应该发送参数,表示正在设置的数据是什么。例如,您会发送 `{show_middle_name: true}`。但由于服务器端只是翻转了一个布尔值,理想情况下,在调用之前你无需知道是否需要发送 `true` 或 `false`。只需调用端点,它便从一个值翻转到另一个值,而无需发送任何值。
那么问题就来了,是否可以只是调用 `PUT/PATCH` 端点而不带参数,并在响应中返回结果?或者无参 `PUT/PATCH` API 调用是不被鼓励的?为什么或为什么不?
例如,考虑一个 `users/toggle_middle_name` 端点。默认情况下,除非用户通过调用端点选择显示他或她的中间名,否则每个用户都不会显示其中间名。
显然,这不是一个 `GET` 请求,因为您将要向数据库写入信息。但是,在 `PATCH/PUT` 请求中,我的一般理解是应该发送参数,表示正在设置的数据是什么。例如,您会发送 `{show_middle_name: true}`。但由于服务器端只是翻转了一个布尔值,理想情况下,在调用之前你无需知道是否需要发送 `true` 或 `false`。只需调用端点,它便从一个值翻转到另一个值,而无需发送任何值。
那么问题就来了,是否可以只是调用 `PUT/PATCH` 端点而不带参数,并在响应中返回结果?或者无参 `PUT/PATCH` API 调用是不被鼓励的?为什么或为什么不?