# 文件配置
在阅读文件配置之前,请保证你已经阅读过文档的`通用API`中的`配置->文件配置`章节
<br>
## 文件内容
HTTP API组件在上文提到的配置中,除了核心中自带的通用配置以外,还提供了以下的配置:
```properties
################################
##
### HTTP API 组件所提供的额外配置,一般来讲不同的组件框架之间会存在差异。
##
################################
# 酷Q端插件所监听的端口 -> 插件 动态交互 处所配置的端口, 框架内默认8877
simple.robot.conf.httpapi.serverPort=8877
# 酷Q端插件向Java端请求时候使用的请求路径, 框架默认为/coolq
simple.robot.conf.httpapi.serverPath=/coolq
# java端监听酷Q端的请求的服务端口, 默认为15514
simple.robot.conf.httpapi.javaPort=15514
# TCP连接最大并发数, 传 0 或负数表示使用默认值,默认为0,一般没有什么高级需求可以无视.
simple.robot.conf.httpapi.backlog=0
# 能够接收的请求方式,数组形式,多个使用逗号分隔。默认为POST请求,一般情况下不做更改。
simple.robot.conf.httpapi.method=POST
```
## 如何使用
上文的代码配置提到过,需要创建一个类实现`HttpApp`接口来进行配置。而当你想要使用配置文件进行配置的时候,则不再使用`HttpApp` 接口而是使用 `ResourceHttpApp` 接口,然后改变你的方法实现:
```java
public class DemoRun implements ResourceHttpApp {
public static void main(String[] args) {
HttpApplication httpApplication = new HttpApplication();
httpApplication.run(new DemoRun());
}
/**
* resources路径下的配置文件路径。
*/
@Override
public String resourceName() {
return "/conf.properties";
}
/**
* 在配置结束后
* @param args properties对象实例
* @param configuration 配置完成的配置类
*/
@Override
public void before(Properties args, HttpConfiguration configuration) {
System.out.println("配置完成了!");
}
/**
* after方法没变化,启动成功后的回调方法
* @param cqCodeUtil cqCodeUtil对象
* @param sender sender对象
*/
@Override
public void after(CQCodeUtil cqCodeUtil, MsgSender sender) {
}
}
```
从以上代码可以看到,你只需要提供文件在`resources`下的路径即可完成配置。
但是假如我的配置文件不在resources下, 需要我手动配置`InputStream`对象的获取方式呢?
你可以通过重写`getStream()` 方法来实现:
```java
public class DemoRun implements ResourceHttpApp {
public static void main(String[] args) {
HttpApplication httpApplication = new HttpApplication();
httpApplication.run(new DemoRun());
}
/**
* resources路径下的配置文件路径。
* 由于重写了getStream() 方法,此方法失去作用,无视即可。
*/
@Override
public String resourceName() {
return "/conf.properties";
}
/**
* 自定义配置文件输入流获取。
* 当重写了此方法,resourceName()方法将失去作用。
* 在普通情况下请不要重写此方法。
* @return
*/
@Override
public InputStream getStream(){
// 返回一个inputStream
// 这个null只是作为示例用,不能真的返回null
return null;
}
/**
* 在配置结束后
* @param args properties对象实例
* @param configuration 配置完成的配置类
*/
@Override
public void before(Properties args, HttpConfiguration configuration) {
System.out.println("配置完成了!");
}
/**
* after方法没变化,启动成功后的回调方法
* @param cqCodeUtil cqCodeUtil对象
* @param sender sender对象
*/
@Override
public void after(CQCodeUtil cqCodeUtil, MsgSender sender) {
}
```
从上述代码可以看到,重写的方法中我多重写了一个`getStream()` 方法,并通过此方法返回一个自定义的`InputStream`对象。此时,`resourceName()` 方法可以被无视。
## 注意事项
1、重写的方法是不同的。
代码配置的时候,你重写的是`before(config)`和`after(cqcodeutil, sender)`
文件配置的时候,你重写的是`before(properties, config)`、`resourceName()` 和 `after()`
或者`before(properties, config)`、`resourceName() (无作用)` 、`getStream()` 和 `after()`
**请千万注意!不要重写了多余的、错误的方法!**
- 前言
- 简单介绍
- 我该如何阅读文档
- 视频教程
- 安装与使用
- 开源协议
- 免责&捐助
- 注意事项
- 版本命名规则简介
- 主要功能版本历史
- 功能指引
- 通用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反馈
- 更新计划总览