0
我正在开发一个rest-api。 我的API映射一个查询字符串,如:[email protected]&gender=MALE
在SQL语句:where email = [email protected] and gender = MALE
查询字符串vs SQL过滤器语句
那么,为什么不通过SQL statament只用POST方法,而不是得到什么?
有什么最佳实践吗?
我正在开发一个rest-api。 我的API映射一个查询字符串,如:[email protected]&gender=MALE
在SQL语句:where email = [email protected] and gender = MALE
查询字符串vs SQL过滤器语句
那么,为什么不通过SQL statament只用POST方法,而不是得到什么?
有什么最佳实践吗?
因为那不会是REST,所以它会像SOAP一样。
REST是关于它们的资源和操作。如果您在使用HTTP实现REST,有HTTP动词应该被用于specifict操作:
GET
是获取资源POST
是一个集合中创建新的资源(加上一些特殊情况下PUT
是改变现有资源DELETE
是删除现有资源帖动词必须遵循特定的行为。其中之一是,GET
不得更改资源,而POST
通常不会更改它。
使用POST
而不是GET
违反REST和所有已建立的标准。
为什么不能通过只用POST
的SQL statament因为这会暴露你的执行情况向用户详细信息。这可能会打开安全漏洞。 REST是关于资源的抽象,而不是简单的公开数据库的方式。