gpt4 book ai didi

haxe - 将静态中间件与 Tink Web 结合使用

转载 作者:行者123 更新时间:2023-12-05 00:45:43 25 4
gpt4 key购买 nike

我想声明2条路线。第一个,"/api"将提供一些 REST 的东西,另一个,"/static"应该提供静态内容。

我试图从快速入门示例开始,但我不知道如何做到这一点。

import tink.http.containers.*;
import tink.http.Response;
import tink.web.routing.*;

class Server {
static function main() {
var container = new NodeContainer(8080);
var router = new Router<Root>(new Root());
container.run(function(req) {
return router.route(Context.ofRequest(req))
.recover(OutgoingResponse.reportError);
});
}
}

class Root {
public function new() {}

@:get('/')
@:get('/$name')
public function hello(name = 'World')
return 'Hello, $name!';
}

最佳答案

对于 /static您可以使用 Static来自 tink_http_middleware .
对于 /api您可以使用 @:sub路线。

import tink.http.containers.*;
import tink.http.Handler;
import tink.http.Response;
import tink.http.middleware.Static;
import tink.web.routing.*;

class Server {
static function main() {
var container = new NodeContainer(8080);
var router = new Router<Api>(new Api());
var handler:Handler = req -> router.route(Context.ofRequest(req)).recover(OutgoingResponse.reportError);
container.run(handler.applyMiddleware(new Static('public_html', '/static')));
}
}

class Api {
@:sub public var api:Root = new Root();
}

class Root {
public function new() {}

@:get('/')
@:get('/$name')
public function hello(name = 'World')
return 'Hello, $name!';
}

关于haxe - 将静态中间件与 Tink Web 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56257001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com