鉴于此URI:
/myapp/books/status/{status}
Run Code Online (Sandbox Code Playgroud)
例如 :
/myapp/books/status/new
Run Code Online (Sandbox Code Playgroud)
这将返回标有此状态的所有书籍.
返回所有未标记特定状态的书籍的正确URI是什么?
/myapp/books/notstatus/new
Run Code Online (Sandbox Code Playgroud)
我想归还所有书籍的集合,除了具有一定地位的书籍.
请指教...
我建议使用查询参数来过滤图书列表资源的状态:
myapp/books/?status=new
myapp/books/?status=not_new
Run Code Online (Sandbox Code Playgroud)
两个查询都返回相同的资源(书籍列表),您只是在该列表中过滤掉您想要的类型,因此使用查询参数是有意义的.我使用not_前缀为状态来执行反向查询,但您可以使用您想要的任何约定.
REST不要求你避免获取参数(似乎有些人认为get参数是voodoo),只是不要使用它们来进行虚假RPC调用:)
我喜欢这种方法的原因是,如果您想要为所有具有多条信息的书籍添加支票,例如状态为新且条件良好的书籍,它会在以后打开您的选项.
myapp/books/?status=new&condition=good
Run Code Online (Sandbox Code Playgroud)
如果你试图将其分解为url段而不是查询参数,它会很快变得混乱.
| 归档时间: |
|
| 查看次数: |
1568 次 |
| 最近记录: |