我想为在Vanity URL之上构建的Web应用程序创建Playframework。
我尝试在主页index
中添加Application
方法的参数,如果我调用http://localhost:9000/?vanity_url
而不是http://localhost:9000/vanity_url
,则会有效。
我将如何实现这一目标?我希望用户创建自己的网址,解决方案必须是动态的,就像在Facebook
上一样
答案 0 :(得分:7)
在路线中你会放
GET /{<[a-z]+>fanPage}/? Page.showFanPage
有了这个你可以获得:
http://localhost:9000/facebook
我还建议使用play框架提供的slugify
方法,通常你会检查数据库中是否存在slug,并查找slug以获取数据(fanpage的标题/谁是所有者粉丝专页/多少次观看/等等)
在表格中:
姓名:粉丝专页
pageID整数或bigint
title varchar
slu var varchar unique
所有者整数
内容文字
在代码中:
public static void showFanPage(String fanPage) {
// use models to look for the slug
// grab the data
// do what you need to do
}
我在这里举例说明如何创建网址,因为我不知道你正在构建什么应用程序:
GET /post/slug/? Page.createPage
POST /post/slug/? Page.processPage
public static void createPage() {
// remember to create the template
render();
}
public static void processPage(String slugName) {
// slugName refers to the input field
// check if the slug exists and throw error if it does
// process
}
(注意这只是一个例子,我不知道你正在构建什么样的应用程序) 我希望这有帮助,让我知道这是否是你的意思