Flutter插件dear的安装与使用
Flutter插件dear的安装与使用
关于dear插件
dear
是一个受 NodeJS 的 express
启发的简单易用的 API 构建服务器库。它可以帮助开发者快速搭建 RESTful API 服务,并支持静态文件服务、跨域支持、安全性和私有端点等功能。
安装dear插件
在你的 Flutter 项目中使用 dear
插件时,首先需要将其添加到项目的 pubspec.yaml
文件中:
dependencies:
dear: any
然后执行以下命令以安装依赖:
flutter pub get
使用dear插件
以下是一个完整的示例,展示如何使用 dear
插件来创建一个简单的 API 服务器。
示例代码
import 'package:dear/dear.dart';
import 'package:http/http.dart' as http;
void main() {
// 配置服务器
ConfigServer config = ConfigServer();
// 创建服务器实例
Dear server = Dear(conf: config);
// 启用 CORS 支持
server.useCors(true);
// 启用安全性(需要设置密钥)
server.useSecurity(true, secretFrase: "MyT0k3n!Secret");
// 公共端点:GET 请求
server.route(Route(
verb: routeVerb.GET,
path: '/api/test/single/',
callback: (IncomingRequest request) {
request.response.statusCode = HttpStatus.ok;
request.response.headers.contentType = ContentType.json;
request.response.write('{"status":200, "response":"Ok single api endpoint","data":"{}"}');
request.response.close();
},
));
// 授权端点:POST 请求
server.route(Route(
verb: routeVerb.POST,
path: '/api/test/auth/',
callback: (IncomingRequest request) async {
// 检查用户名和密码是否正确
if (request.body["user"] == "admin" && request.body["pass"] == "admin") {
// 生成 JWT Token
String token = request.newSecurityToken(payload: {"user": "admin", "id": 9999});
request.responseJSON({
"code": 200,
"message": "登录成功",
"data": {"token": token}
}, HttpStatus.ok);
} else {
request.responseJSON({
"code": 201,
"message": "登录失败",
"data": {"token": ""}
}, HttpStatus.notFound);
}
},
));
// 私有端点:需要验证 Token
server.route(Route(
verb: routeVerb.GET,
path: '/api/test/private/',
security: true,
callback: (IncomingRequest request) async {
request.responseJSON({
"code": 200,
"message": "欢迎访问私有端点",
"data": request.payload,
}, HttpStatus.ok);
},
));
// 启动服务器
server.run();
}
// 测试授权端点
Future<void> testAuthEndpoint(String url) async {
final response = await http.post(Uri.parse(url), body: {
"user": "admin",
"pass": "admin",
});
print("Status Code: ${response.statusCode}");
print("Response Body: ${response.body}");
}
// 测试私有端点
Future<void> testPrivateEndpoint(String url, String token) async {
final response = await http.get(Uri.parse(url), headers: {
"Authorization": "Bearer $token",
});
print("Status Code: ${response.statusCode}");
print("Response Body: ${response.body}");
}
void main() {
// 启动服务器
main();
// 测试授权端点
testAuthEndpoint("http://localhost:3000/api/test/auth/");
// 假设授权成功返回的 Token 为 "exampleToken"
String token = "exampleToken";
// 测试私有端点
testPrivateEndpoint("http://localhost:3000/api/test/private/", token);
}
更多关于Flutter插件dear的安装与使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复