5

我最近从Perfect切换到Vapor。在 Perfect 中,您可以在不使用 html 文件的情况下执行此类操作。

routes.add(method: .get, uri: "/", handler: {
    request, response in
    response.setHeader(.contentType, value: "text/html")
    response.appendBody(string: "<html><img src=http://www.w3schools.com/html/pic_mountain.jpg></html>")
    response.completed()
   }
)

在 Vapor 中,我发现返回 html 的唯一方法就是这样做。如何在不使用蒸汽中的 html 文件的情况下返回 html 代码?

 drop.get("/") { request in
    return try drop.view.make("somehtmlfile.html")
} 
4

1 回答 1

10

您可以构建自己的Response,完全避免视图。

drop.get { req in
  return Response(status: .ok, headers: ["Content-Type": "text/html"], body: "<html><img src=http://www.w3schools.com/html/pic_mountain.jpg></html>")
}

或者

drop.get { req in
  let response = Response(status: .ok, body: "<html><img src=http://www.w3schools.com/html/pic_mountain.jpg></html>")
  response.headers["Content-Type"] = "text/html"
  return response
}
于 2016-11-06T08:58:34.950 回答