查询字符串与SQL Filter语句

时间:2016-02-22 12:53:16

标签: rest query-string

我正在开发一个rest-api。 我的api在sql语句中映射了一个查询字符串,如:email=xyz@gmail.com&gender=MALEwhere email = xyz@gmail.com.br and gender = MALE

那么为什么不使用POST方法而不是GET传递SQL statament?

有最佳做法吗?

1 个答案:

答案 0 :(得分:1)

因为那不是REST,所以它就像SOAP。

REST是关于它们的资源和操作。如果使用HTTP实现REST,则应使用HTTP谓词进行特定操作:

  • GET用于获取资源
  • POST用于在集合中创建新资源(加上一些特殊情况
  • PUT用于更改现有资源
  • DELETE用于删除现有资源

这些动词必须遵循特定的行为。其中之一是GET不得更改资源,而POST通常会更改资源。

使用POST代替GET是针对REST和所有已建立的标准。

  

为什么不使用POST传递SQL statament

因为这会向用户公开有关您的实现的详细信息。这可能会打开安全漏洞。 REST是关于资源,一种抽象,而不是关于公开数据库的简单方法。