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 请求正常工作。请参阅部分 模式缓存重新加载。