使用Buildurl太多的Pathinfo



我尝试使用FW/1版本4构建REST-API的印象。我将其设置在我的Application.cfc

<cfset variables.framework.routes = [
    { "$GET/persons/:id/$" = "/persons/show/id/:id" }
]>

我的控制器方法

<cffunction name="show">
    <cfargument name="rc" type="struct" required="true">
    <cfset local.strURL = variables.fw.buildURL(
        action = 'persons.show',
        queryString = 'id=123'
    )>
    <cfset variables.fw.renderData().data( { strURL = local.strURL } ).type( "json" )>
</cffunction>

我致电/persons/123并获取此输出:

{"URL":"/persons/show/id/123"}

我不喜欢此生成的URL中的/show/ Pathinfo。这不是我在浏览器(或通过Ajax等)中要求的URL的一部分。有没有办法在生成的URL中摆脱它?

这不是FW/1中的功能。这是在2012年考虑的,但被拒绝了。

请参阅:https://github.com/framework-one/fw1/issues/145

核心问题是(并且是)根据Sean Corfield:

有趣的想法,但我认为您通常会发现路由=> URL实际上是一个众多映射,因此您无法可靠地去 从URL(操作/参数)向后倒退到唯一路由。我说话了 与人在一起的几次,到目前为止 提出一个在所有情况下都可以使用的映射。

最新更新