[项目] 运行项目 ✅
看下我们的代码结构:

component 是封装的几个组件。**start 是整个项目的入口**,包括启动类和配置文件都放在这里,把所有环境都配好之后,**运行 start 中的 Appliation 类就可以跑起整个项目了**,目前主要提供了两个接口:
1. 创建短链
2. 长链重定向
接口定义在 adapter 模块中,这个模块是对外的模块,比如 web 层的 Controller,Job,消息消费者,RPC 调用等都是在这个模块中定义(**所以如果你想要跟源码,就从这个模块中一层一层往里进就可以了**):

## AppId 注册
注册一个 appId,用于后续权限校验
POST:`http://localhost:8080/api/register/`

## 获取 AccessToken
拿着 appId 和 appSecret 去请求 accessToken
POST:`http://localhost:8080/api/token/`

accessToken 的有效时间是 2h,失效后需要重新调此接口获取新的 accessToken
## 创建短链
POST:`http://localhost:8080/api/create/`

注意要在 Headers 中填入在之前申请到的 appId、appSecret、accessToken

任意一个对不上,权限校验就会失败报错:

**另外注意,生成的 shortUrl 短链的域名是基于你在配置文件中配置的 `ezlink.default.domain=localhost:8080`。这个域名必须要在数据库表 `domain_conf` 中注册,否则会返回错误信息**:

可以使用如下 SQL 语句注册域名:
```sql
BEGIN;
INSERT INTO domain_conf(domain_value,protocol) VALUES ('localhost:8080', 'http');
COMMIT;
```
## 长链重定向
GET:`http://localhost:8080/压缩码`
注意这个接口返回的是 `Mono<Void>`, 会运行一个子线程重定向到原始长链,所以可以**直接在浏览器中输入这个地址,然后就会自动跳转到原始长链**
