小编Sur*_*esh的帖子

休息uri设计用于更改资源的状态

我有一个可以在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)

或者可能还有别的东西?

api rest json hateoas

15
推荐指数
4
解决办法
8027
查看次数

标签 统计

api ×1

hateoas ×1

json ×1

rest ×1