English 中文(简体)
实用铁路应用: DRYing UrlMapping
原标题:
  • 时间:2009-06-05 12:29:05
  •  标签:

让我们说,我们有一套铁路网应用程序,可以提供若干资源。

  • tags
  • urls
  • users

The application has a classical web-interface which the users interact with and some administration. We want to expose the resources from the application to clients via a RESTful API and we don t want that part of the app to clutter up the controllers and code we already have. So we came up with the following:

如果网络接口提供<条码>>>/应用_path/url/[>>>>,[>>><>>>>>,我们希望《区域环境评估》的预报在<条码>/>上登上<>。

因此,我们最后收到以下乌拉尔马夫案:

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 )
}
}

问题是,这恰恰是南盟在此做的事情。 随着我们增加更多的资源,如标签,情况更加糟糕。 它们将转化为另外三个非常相似的法典。

非审慎职能将像寻找具体标准,这样......

我们尝试用一种 lo子,但没有成功,来绘制地图。 我们是否完全走在错误的道路上?

最佳回答

我建议进行以下绘图:

"/rest/url/$id?"(resource:"urlRest")

下面是《吉大港山区行动计划》的方法,用以绘制该方法将为主计长制作的地图:

GET         show
PUT         update
POST        save
DELETE      delete

我看到,你为什么要绘制/封存/封存/封存/封存/id PUT图,以便更新,但这违背了这些字节的含义。 一个PUT应当是增加新卢尔和POST作为更新卢尔的唯一途径的唯一途径。 如果你的制约因素是使你目前的控制者不受约束,那么你所描述的方式将会奏效,而且可能是最好的办法。 然而,我的猜测是,可能已经对你的控制员进行编码处理,只进行罚款(如果没有补贴,请上下错,如果没有证明,就显示重新定位。

问题回答

暂无回答




相关问题
热门标签