控制器指南
欢迎使用 Finch 控制器指南!本指南将引导您完成在 Finch 应用程序中创建和使用控制器的步骤。无论您是经验丰富的开发人员还是刚刚起步,Finch 都提供了一套强大的工具来简化服务器端 Web 应用程序开发。
什么是控制器?
Finch 中的控制器是处理 HTTP 请求的类。它负责处理请求并生成响应。控制器用于组织相关的请求处理逻辑,可以与路由关联以处理传入的 HTTP 请求。
创建控制器
要创建控制器,您需要扩展 Controller 类。以下是如何创建简单控制器的示例:
import 'package:finch/finch_route.dart';
class MyController extends Controller {
MyController();
@override
Future<String> index() async {
return rq.renderString(text: 'Hello World');
}
}
在此示例中,我们创建了一个名为 MyController 的控制器,它扩展了 Controller 类。我们还重写了 index 方法来处理请求并生成响应。当向与此控制器关联的路由发出请求时,将调用 index 方法。
使用控制器
要使用控制器,您需要将其与路由关联。可以通过设置 FinchRoute 类的 controller 属性来实现。以下是如何使用我们之前创建的 MyController 的示例:
FinchRoute(
path: '/',
controller: MyController(),
);
在此示例中,我们创建了一个匹配根路径(/)的路由,并将其与我们之前创建的 MyController 关联。当向根路径发出请求时,将调用 MyController 的 index 方法来处理请求并生成响应。
注意:
index 函数是控制器的默认函数,您可以为函数使用任何名称并在路由定义中使用它。例如:
class MyController extends Controller {
MyController();
Future<String> myFunction() async {
return rq.renderString(text: 'Hello World');
}
}
FinchRoute(
path: '/',
controller: MyController(),
index: MyController().myFunction,
);