在 Vapor 中获取 URI 的片段

Get fragments of URI in Vapor

对于我的 Vapor 应用程序,我需要读取请求的 URI 片段。

let drop = Droplet()

drop.get("fragment") {
    request in

    print("URI: \(request.uri)")
    print("Fragment: \(request.uri.fragment)")

    return ""
}

问题是:当我请求http://myserver/fragment#hello时,request.uri.fragmentnil。这是在控制台中打印的:

URI: http://localhost:8080/fragment
Fragment: nil

我错过了什么吗? Vapor documentation 没有提到片段不包含在 URI 中的任何情况。

URI 片段仅供客户端使用。您的 Vapor 服务器甚至没有收到它们。如果你想将片段中的数据发送到你的服务器,你应该直接使用查询参数,或者你需要在客户端解析片段(即 JavaScript 如果这是一个网络应用程序)并通过他们以其他方式发送到服务器。

来自 Wikipedia

Fragments depend on the document MIME type and are evaluated by the client (Web browser). Clients are not supposed to send URI-fragments to servers when they retrieve a document