plicação Grails @RESTful: SECANDO o UrlMapping

Digamos que temos um aplicativo da web do Grails que expõe vários recurso

Ta urlsComercia

O aplicativo possui uma interface web clássica com a qual os usuários interagem e alguma administração. Queremos expor os recursos do aplicativo para os clientes por meio de uma API RESTful e não queremos que essa parte do aplicativo atrapalhe os controladores e o código que já temos. Então, criamos o seguinte:

Se a interface da web oferecerhost/app_path/url/[list|show|create] queremos que a API REST esteja em/host/app_path/rest/url.

Então, acabamos com o seguinte arquivo UrlMappings:

class UrlMappings {
static mappings = {
    "/$controller/$action?/$id?"{

    }

    /* adding new urls and listing them */
    "/rest/url"{
        controller = "urlRest"
        action = [POST: "save", PUT: "save", GET: "list", DELETE:"error"]
    }

    /* accessing a single url */
    "/rest/url/$id"{
        controller = "urlRest"
        action = [POST: "update", PUT: "update", GET: "show", DELETE: "delete"]
    }

    /* non-crud stuff on urls */
    "/rest/url/$action?/$id?"{
        controller = "urlRest"
    }

    "/"(view:"/index")
    "500"(view:'/error')
}
}

O problema é que isso não é exatamente a coisa mais SECA aqui. Fica pior à medida que adicionamos mais recursos, como tags. Eles traduziriam para mais três blocos de código muito semelhante ...

As funções não cruas serão coisas como pesquisar com critérios específicos e coisas assim ...

Tentamos gerar os fechamentos de mapeamento com um loop, mas sem sucesso. Estamos completamente no caminho errado aqui?

questionAnswers(2)

yourAnswerToTheQuestion