# HTTP API组件 配置
# 代码配置
首先,你需要创建一个类。然后使此类实现一个接口:
`com.forte.qqrobot.component.forhttpapi.HttpApp`
此接口有两个抽象方法:
```java
void before(HttpConfiguration config);
void after(CQCodeUtil cqCodeUtil, MsgSender msgSender);
```
其中,`before`方法为开始连接到插件之前的配置方法,此方法提供了一个配置对象:
`HttpConfiguration`,此对象提供了一些需要进行配置的选项。
> 以下方法已除去配置类的基本方法(例如设置IP)
```java
/** 配置java服务器的请求路径,默认为'/coolq' */
public void setServerPath(String serverPath);
/** 配置java服务器的监听端口,默认为15514 */
public void setJavaPort(int javaPort);
/** 配置java服务器可接收的请求类型,默认为'post'类型 (且http api插件只支持post类型,此选选项不用动)*/
public void setMethod(String[] method);
/** 配置酷Q端的端口地址,默认为8877 */
public void setServerPort(int serverPort);
/** TCP连接最大并发数, 传 0 或负数表示使用默认值,默认为0 */
public void setBacklog(int backlog);
```
> **※注1:此组件会在启动的时候自动获取机器人QQ的登录信息,例如QQ号、昵称等。因此QQ号与昵称等信息无需在配置类中进行配置。**
> **※注2:虽然上面的配置中均存在默认值,但是由于HTTP API插件的配置中部分配置并不存在任何默认值,所以酷Q插件方面的配置依旧需要费心进行一次配置。但是配置之后就不用再变了QwQ**
另一个方法为`after`方法,其代表了当连接成功后的回调方法。此方法提供了两个参数:`CQCodeUtil(CQCode工具类)`和`MsgSender(送信器)`,关于这两个参数的具体使用方式请参照组件的通用内容章节。
那么,到这里,两个抽象方法实现完毕了,接下来该干什么了呢?该进行连接了。在你所创建的这个类中,创建一个main方法,并书写以下代码:
```java
HttpApplication application = new HttpApplication();
application.run(new 你创建的类());
```
> 其中的这个'你创建的类'就是那个实现了`HttpApp`接口的类。这样,执行main方法,就可以了。
以下是一个最基础的、十分简化的启动类示例:
```java
public class DemoRun implements HttpApp {
public static void main(String[] args) {
new HttpApplication().run(new DemoRun());
}
@Override
public void before(HttpConfiguration configuration) {
//酷Q所在的服务器IP地址
configuration.setIp("127.0.0.1");
// java端服务器监听的端口,用于接收插件的消息
configuration.setJavaPort(15514);
// java端服务器监听的请求路径,用于接收插件的消息
configuration.setServerPath("/coolq");
//酷Q HTTP API 插件配置中的「动态交互」标签页中配置的端口号。
//用于向插件提交消息
configuration.setServerPort(8877);
}
@Override
public void after(CQCodeUtil cqCodeUtil, MsgSender sender) {
//连接后
}
}
```
<br>
根据上述的java端配置,则对应的HTTP API插件的配置中,第一个选项卡里的请求路径为:(假设java程序在IP:1.2.3.4这个IP地址中)
`http://1.2.3.4:15514/simpleRobot`
可以看到,ip为java所在的ip地址,端口和请求路径都是我们在配置类中配置的属性。
然后,HTTP API插件配置第二个选项卡「动态交互」中,有一个端口号,根据上述的配置,将其配置为`8877`,即为`setServerPort`所配置的端口号。
<br>
### 配置对应图
<br>
![](https://i.vgy.me/Mmi3vV.png)
<br>
- 前言
- 简单介绍
- 我该如何阅读文档
- 视频教程
- 安装与使用
- 开源协议
- 免责&捐助
- 注意事项
- 版本命名规则简介
- 主要功能版本历史
- 功能指引
- 通用API与功能
- 国际化语言
- 异常
- 消息监听
- @Listen
- @OnListen模板
- @Filter
- 消息参数截取
- @Spare
- @Constr
- @Ignore
- @ListenBreak
- @ListenBreakPlugin
- @ListenBody
- 监听响应
- 成功判定与返回值
- 监听上下文
- 动态参数
- 监听消息API
- 异步监听 @Async
- 限流监听 @Limit
- 自定义Http送信器
- 枚举与类型
- 送信器
- SENDER
- SETTER
- GETTER
- 返回值
- 其他位置
- 日志与日志拦截
- 异常处理
- 依赖注入
- 自定义依赖获取
- 批量依赖载入
- 注意事项
- 常量
- 定时任务
- 自定义过滤
- 拦截器
- 拦截器总定义
- 上下文对象总定义
- 监听消息拦截
- 送信器拦截
- 监听函数拦截
- CAT码
- CQ码
- CQCode
- CQ码工具类
- CQ扩展工具类
- AppendList拼接链
- 高级内容
- 阻断机制
- 截断机制
- 自定义枚举类型
- 枚举工厂
- byName注解
- 自定义注解
- 配置
- 文件配置
- 注解配置
- 参数配置
- 多配置
- 多账号
- 自定义账号管理器
- 小心!
- 核心版本与组件如何升级核心
- 核心版本迭代指南
- 核心
- 更新日志
- jar包与依赖
- 监听消息类结构图
- 快速启动
- 模组与扩展
- 模组开发
- 现有模组
- 通用模组-延时任务
- 通用模组-CQ码工具
- 转义器
- CQ码操作工具类
- CQ码模板-CodeTemplate
- CQ码载体-KQCode
- CQ码构建器
- MQ码工具类
- 通用模组-redis-bot管理器
- 通用模组-Debugger
- Debugger-common模块
- Debugger-server模块
- Debugger-client模块
- 通用模组-钉钉机器人
- 组件-Mirai(JVM)
- 快速开始(1.13+)
- springboot-starter
- 注意事项
- 配置
- 额外的内容
- 快速回复
- 额外监听
- CQ码解析
- 组件-酷Q(QQ)-CQ HTTP API(基本失效)
- 快速开始(推荐)
- 快速开始(1.7.x以下,不推荐)
- 快速开始(Springboot启动器)
- 启动器、启动接口与配置类
- 配置
- 文件配置
- 注意事项
- 更新日志
- 额外的内容
- 自定义额外监听
- CQ送信器
- 元事件
- 监听消息类结构图
- 组件-酷Q(QQ)-JCQ(失效)
- 快速开始
- 更新日志
- 额外的内容
- JCQ日志
- 配置
- 注意事项
- 监听消息类结构图
- 组件-酷Q(QQ)-HTTP TO CQ(失效)
- 快速开始(核心1.7.x及以下)
- 启动器、启动接口与配置类
- 配置
- 文件配置
- 注意事项
- 更新日志
- 监听消息类结构图
- 组件-酷Q(QQ)-LEMOC (失效)
- 快速开始(核心1.7.x及以下)
- 配置
- 注意事项
- 更新日志
- 监听消息类结构图
- Springboot快速启动器
- 常见问题汇总
- BUG反馈
- 更新计划总览