OPTIONS 方法

您可以使用 OPTIONS 请求来验证对表和视图的端点允许哪些 HTTP 方法。这些方法允许取决于可以对表或视图执行的操作,而不是分配给它们的数据库权限。

对于名为 people 的表,OPTIONS 将显示

curl "http://localhost:3000/people" -X OPTIONS -i
HTTP/1.1 200 OK
Allow: OPTIONS,GET,HEAD,POST,PUT,PATCH,DELETE

对于视图,方法由 INSTEAD OF 触发器的存在决定。

允许的方法

视图的要求

OPTIONS, GET, HEAD

无(始终允许)

POST

INSTEAD OF INSERT 触发器

PUT

INSTEAD OF INSERT 触发器,INSTEAD OF UPDATE 触发器,还需要存在主键

PATCH

INSTEAD OF UPDATE 触发器

删除

替代删除触发器

以上所有方法都适用于 自动可更新视图

对于函数,方法取决于其易变性。 VOLATILE 函数只允许 OPTIONS,POST,而其他函数也允许 GET,HEAD

重要

每当您在数据库中添加或删除表或视图,或修改视图的 INSTEAD OF 触发器时,您必须刷新 PostgREST 的模式缓存,才能使 OPTIONS 请求正常工作。请参阅部分 模式缓存重新加载