期权方法#
您可以使用OPTIONS请求验证表和视图的终结点上允许使用哪些HTTP方法。根据操作的不同,允许使用这些方法 can 在表或视图上完成,而不是在分配给它们的数据库权限上完成。
对于名为的表 people
,选项将显示:
curl "http://localhost:3000/people" -X OPTIONS -i
HTTP/1.1 200 OK
Allow: OPTIONS,GET,HEAD,POST,PUT,PATCH,DELETE
对于视图,方法由INSTEAD OF触发器的存在确定。
允许的方法 |
查看要求 |
---|---|
选项、GET、HEAD |
无(始终允许) |
POST |
INSTEAD OF INSERT触发器 |
PUT |
INSTEAD OF INSERT触发器、INSTEAD OF UPDATE触发器还要求存在主键 |
PATCH |
INSTEAD OF UPDATE触发器 |
DELETE |
INSTEAD OF DELETE触发器 |
以上所有方法均可用于 auto-updatable views |
对于函数,方法取决于它们的波动性。 VOLATILE
函数仅允许 OPTIONS,POST
,而其余的也允许 GET,HEAD
。
重要
无论何时添加或删除表或视图,或者修改数据库上的视图的INSTEAD OF触发器,都必须刷新PostgREST的模式高速缓存,才能使OPTIONS请求正常工作。请参阅小节 架构缓存重新加载 。