1,首先简单介绍一下postgrest是什么,能做什么,怎么做。
官网解释:
PostgREST 是一个独立的 Web 服务器,它将 PostgreSQL 数据库转换为 RESTful API。它提供基于底层数据库结构定制的 API。
要制作 API,我们将简单地构建一个数据库。所有端点和权限都来自数据库对象,如表、视图、角色和存储过程。这些教程将涵盖许多常见场景以及如何在数据库中对它们进行建模。
在本教程结束时,您将拥有一个工作数据库、PostgREST 服务器和一个简单的单用户待办事项列表 API。
说白了就是可以将数据库数据直接以restful形式让web请求,对于一些简单项目就不需要后端了。
2,使用postgrest
要想使用postgrest的前提是得要有postgreSQL,可以用docker单独去运行两个容器,也可以用docker-compose直接启动两个服务。本教程以docker-compos为例
# docker-compose.yml
version: '3'
services:
#这里是postgrest服务
server:
image: postgrest/postgrest
ports:
- "3000:3000"
links:
- db:db
environment:
#连接数据库url,postgrst会自己帮我们连接数据库
PGRST_DB_URI: postgres://app_user:password@db:5432/app_db
#默认组别公共
PGRST_DB_SCHEMA: public
#匿名用户,第一次就用连接用户,后续如果要做权限认证的话就修改用户重启服务
PGRST_DB_ANON_ROLE: app_user
#JWT密钥有两种写法,后续权限认证会说明,如果不做权限认证,这块可忽略
#PGRST_JWT_SECRET: "reallyreallyreallyreallyverysafe"
#role-claim-key: "reallyreallyreallyreallyverysafe"
depends_on:
- db
#这里是postgreSQl服务
db:
image: postgres
ports:
- "5432:5432"
environment:
#数据库名称
POSTGRES_DB: app_db
#数据库用户名
POSTGRES_USER: app_user
#数据库密码
POSTGRES_PASSWORD: password
保存退出,然后运行,这里没装docker或者docker-compose的可以点击这里安装
docker-compose up -d
docker ps
然后就能看到已经启动的服务
如果没有出现这俩个服务的话大概率是前边配置有问题,请用docker logs XX 排除问题。
然后用可视化工具连接数据库,本人使用Navicat
连接进去后在数据库中创建表
然后使用postman进行测试
至此postgrest已经搭建好了,后续就可以使用这个数据库进行一些操做,但是真实生产环境这样肯定是不行的,后续会做权限认证的,下节讲postgrest的各类请求方式。
postgrest官网:Installation — PostgREST 9.0.0 documentation