import net.http.ServerBuildermain () { // 绑定服务地址和端口 ServerBuilder().addr("127.0.0.1").port(8888).build() // 注册请求处理器,输出html页面 .distributor.register("/", { httpContext => httpContext.responseBuilder.body(b""" <!DOCTYPE html> <html> <head>HTTP Server</head> <body> <h1>你好仓颉!
</h1> </body> </html> """)}) // 启动服务 .serve()}
是不是非常简单,当然这只是一个非常简单的web服务。
仓颉编程从入门到精通
我们可以通过distributor注册更多的处理器来扩展服务功能,HttpRequestDistributor接口提供了register(path: String, handler: HttpRequestHandler)方法注册请求处理器,接收一个请求路径和请求处理器函数,HttpRequestHandler接口定义如下:

public interface HttpRequestHandler { func handle(ctx: HttpContext): Unit}
HttpRequestHandler的handle方法入参ctx为HTTP请求上下文HttpContext对象,可以通ctx对象获取HTTP请求头、请求方法、请求体、返回响应结果。通过自定义distributor可实现页面重定向和跳转。