我有一个可以在URI处访问的资源,/resources/{resource_identifier}它有一个我想要访问的"status"属性.我想到了一些选择,这将是"最好的"或"最RESTfull"?
选项一将操作附加到URI并让客户端POST访问这些URI
/resources/{resource_identifier}/void
/resources/{resource_identifier}/open
/resources/{resource_identifier}/close
Run Code Online (Sandbox Code Playgroud)
这看起来很笨拙.
选项二在URI中使用查询参数并将客户端PATCH用于这些参数
/resources/{resource_identifier}?transition=void
/resources/{resource_identifier}?transition=open
/resources/{resource_identifier}?transition=close
Run Code Online (Sandbox Code Playgroud)
选项三使用请求的有效负载并拥有客户端PUT
/resources/{resource_identifier}
Run Code Online (Sandbox Code Playgroud)
负载选项:
{ ..., "status" :"void" }
{ ..., "status" :"open" }
{ ..., "status" :"close" }
Run Code Online (Sandbox Code Playgroud)
或者可能还有别的东西?