如何以RESTful方式传递空值(GET过滤)?作为空值或' null&#39 ;?

时间:2017-11-14 11:33:45

标签: rest api http design-patterns

我想检索尚未删除的所有安装。

我应该这样做:

/installations?removedOn=

/installations?removedOn=null

或者以某种其他方式?

/installations?removed=false

尽管事实上,有些东西告诉我removed=false看起来更好,但removeOn可能更实用,因为稍后我可以使用相同的参数查询在特定时间范围内删除的安装。

1 个答案:

答案 0 :(得分:0)

REST并不关心您用于URI的拼写。

  • private boolean updateProdus(String id, String number){ DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("produse").child(id); Produse produse = new Produse(id, number); databaseReference.setValue(produse); Toast.makeText(this, "Edited", Toast.LENGTH_LONG).show(); return true; }
  • /installationsThatArentRemovedYet
  • /installations?neverRemoved

就REST而言,其中任何一个都是罚款

因此,这些也很好

  • /f784d74e-b8bf-4832-9297-03816e5b4936
  • /installations?removedOn=
  • /installations?removedOn=null

要记住的一件重要事情是,即使底层实现发生变化,URI仍应工作。所以你需要稳定的语义,你的控制器有责任将这些语义映射到你当前的实现。