flutter - 如何在 Dart/shelf 中重定向请求?
问题描述
我shelf
在 Dart 中使用来设置一个简单的 Web 服务器。在下面的示例中,如何将请求从/
to重定向/oauth2callback
?
我找到了这种方法,但不知何故,即使我导入,我也无法编译代码dart:io
。
import 'dart:io';
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart';
import 'package:shelf_router/shelf_router.dart';
final router = Router()
..get('/', rootHandler)
..get('/oauth2callback', oauth2callback);
Response rootHandler(Request req) {
return Response.ok('Hello, World!\n');
}
Response oauth2callback(Request request) {
return Response.ok('Redirected!\n');
}
void main(List<String> args) async {
final _handler = Pipeline().addMiddleware(logRequests()).addHandler(router);
final server = await serve(_handler, '0.0.0.0', 8080);
print('Server listening on port ${server.port}');
}
解决方案
您可以像这样发送 302 响应:
Response rootHandler(Request request) {
Map<String,String> headers = {'location':'/oauth2callback'};
return Response(302,headers:headers);
});
推荐阅读
- mongodb - 使用 Mongoose 查询时在聚合函数中使用先前计算的值
- python - 如何根据 PySpark 中的不同行条件进行计数?
- angular - 以 zip 格式下载许多重文件。正确实施
- javascript - 在chart.js javascript中显示php数组数据
- python - 使用熊猫按条件分组数据
- docusignapi - 什么可以用作自定义电子邮件资源文件中的合并字段 [[Data: ]] 值
- python - 为什么有第二个变量指向 map() 函数,变量 student 来自哪里
- java - 无法反序列化 java.time.OffsetDateTime
- node.js - Node.js:检查 path.format() 的根
- reactjs - 可以不用 useImperativeHandle 钩子来完成吗