Тщеславие URL с Playframework - PullRequest
       11

Тщеславие URL с Playframework

1 голос
/ 13 февраля 2011

Я хотел бы создать Vanity URL s для веб-приложения, созданного поверх Playframework .

Я попытался добавить параметр для метода index вглавная страница Application, это будет работать, если я позвоню http://localhost:9000/?vanity_url, а не на http://localhost:9000/vanity_url.

Как бы мне этого добиться?Я хотел бы, чтобы пользователи создавали свои собственные URL-адреса, чтобы решение было динамичным, как в Facebook

1 Ответ

7 голосов
/ 13 февраля 2011

В маршрут вы бы положили

GET /{<[a-z]+>fanPage}/? Page.showFanPage

С этим вы можете получить:

http://localhost:9000/facebook

Я также рекомендую использовать метод slugify, предоставляемый игровой платформой, обычно вы оба проверяете, существует ли слаг в базе данных, и ищите слаг для сбора данных (название фан-страницы / кто является владельцем фан-страница / сколько просмотров / и т. д.)

В таблицах:

Название: fanpage

pageID integer или bigint
название varchar
слизняк варчар уникальный
владелец целое число
текст содержания

В коде:

public static void showFanPage(String fanPage) {
    // use models to look for the slug
    // grab the data
    // do what you need to do
}

Я собираюсь привести примеры того, как создавать URL, поскольку я не знаю, какое приложение вы создаете:
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
}

(обратите внимание, это всего лишь пример, я не знаю, какое приложение вы создаете) Надеюсь, это поможет, дайте мне знать, если вы это имели в виду

...