Coldfusion在子目录REST映射问题中的应用

Coldfusion在子目录REST映射问题中的应用,rest,coldfusion,Rest,Coldfusion,我有一个应用程序,当它在网站的根工作良好。我把它放在一个子目录中测试兼容性,结果它坏了。结构如下: /cfc/ rest/ -- Rest endpoints model/ -- ORM model mappings util/ -- some util classes 这是一个非常简单的crud,它还可以获取前端使用的模型的元数据。基本上,任何来自rest端点的调用或来自rest端点的cfc调用在处理任何需要路径的操作时都会遇到错误。例如: getComponentM

我有一个应用程序,当它在网站的根工作良好。我把它放在一个子目录中测试兼容性,结果它坏了。结构如下:

/cfc/
    rest/ -- Rest endpoints
    model/ -- ORM model mappings
    util/ -- some util classes
这是一个非常简单的crud,它还可以获取前端使用的模型的元数据。基本上,任何来自rest端点的调用或来自rest端点的cfc调用在处理任何需要路径的操作时都会遇到错误。例如:

getComponentMetaData(“models.table”)

错误无法找到componenet models.table。这是使用到
/cfc/model
的映射,如果我尝试
cfc.model.table
,同样的情况也会发生,以及
ApplicationName.cfc.model.table


我有一种感觉,这是由于CF是如何注册rest端点的,因为它作为根应用程序工作,但当它在子目录中时,就会像这样暂停。任何人都知道可以做什么,或者CF如何处理注册,这可能是一个解决办法吗?

你说,“这是使用到
/cfc/model
的映射”这是ColdFusion Administrator中设置的映射,还是Application.cfc中设置的映射?请显示映射定义。它是来自application.cfc的映射。如下所示:
this.mappings[“/models”]=getDirectoryFromPath(getCurrentTemplatePath())和“cfc/model”我想我已经找到了一个解决方法,但它基本上涉及使用entityNew(modelName)获取元数据;和getMetadata(),而不是使用getComponentMetadata。我仍然不清楚为什么CF在与REST cfc一起使用时在解决组件元数据的路径问题时遇到问题,但它确实可以在同一目录中未标记为REST的普通cfc上工作。现在,我对我的解决方法还可以,因为它是一个小应用程序,我可以缓存元数据,但是如果你转储元数据,它会列出什么作为组件的全名呢?main.ApplicationName.cfc.model.TableName main位于wwwroot的根目录,其余的都是很好的解释。现在它确实显示了name和fullname是相同的。我需要重新查看文档,看看名称是否是您可以指定的,我认为这是由CF分配的,displayName是您唯一可以更改的名称