Play Framework (Java) 中没有 HTTP 上下文的绝对 URL
Absolute URLs in Play Framework (Java) with no HTTP context
在我们的 (Java) Play 应用程序中,我们有一个异步作业,当超过各种截止日期时,它会向用户发送电子邮件。这些电子邮件应该包含指向我们网站上相关页面的链接。但是,在这样的异步作业中,无法使用 routes.MyPage.myTemplate().absoluteURL()
创建绝对 URL,因为没有可用的 HTTP 上下文。
在 HTTP 上下文之外获取绝对 URL 的推荐模式是什么?对于测试,有人会 ,但我认为这不是生产中的正确方法?
play.mvc.Call
有多个版本的 absoluteUrl
。有一个版本如下:
/**
* Transform this call to an absolute URL.
*
* @param secure true if the absolute URL should use HTTPS protocol instead of HTTP
* @param host the absolute URL's domain
* @return the absolute URL string
*/
public String absoluteURL(boolean secure, String host)
您可以使用它来生成绝对 url 而无需请求。
在我们的 (Java) Play 应用程序中,我们有一个异步作业,当超过各种截止日期时,它会向用户发送电子邮件。这些电子邮件应该包含指向我们网站上相关页面的链接。但是,在这样的异步作业中,无法使用 routes.MyPage.myTemplate().absoluteURL()
创建绝对 URL,因为没有可用的 HTTP 上下文。
在 HTTP 上下文之外获取绝对 URL 的推荐模式是什么?对于测试,有人会 ,但我认为这不是生产中的正确方法?
play.mvc.Call
有多个版本的 absoluteUrl
。有一个版本如下:
/**
* Transform this call to an absolute URL.
*
* @param secure true if the absolute URL should use HTTPS protocol instead of HTTP
* @param host the absolute URL's domain
* @return the absolute URL string
*/
public String absoluteURL(boolean secure, String host)
您可以使用它来生成绝对 url 而无需请求。