gpt4 book ai didi

url - Grails URL 映射和 URL 中的斜杠字符

转载 作者:行者123 更新时间:2023-12-05 01:21:47 29 4
gpt4 key购买 nike

我遇到了以下问题:

我的 Grails (2.2.0) 应用程序具有以下 URL 映射:

"/api/clientQuote/$labcode/$cliCode/$quoCode"(controller: "clientQuote") {
action = [GET: "get"]
}

让我们假设以下值:

$labcode = BRMIN
$cliCode = CL-000236
$quoCode = QT-000965/0-0

由于 $quoCode 有一个斜杠字符,因此有必要将其替换为 %2F。这样,一个可能的 URL 可能是:

http://myapp.com:9090/CCLASService/api/clientQuote/BRMIN/CL-000236/QT-000965%2F0-0

当我将此 URL 放入任何浏览器时,返回时显示为空白屏幕。这很奇怪,因为请求甚至没有到达我的 Grails Controller 。

对于另一方,如果我更改 url:

http://myapp.com:9090/CCLASService/clientQuote/get?labcode=BRMIN&cliCode=CL-000236&quoCode=QT-000965%2F1-0

一切正常,我收到了对我的请求的正确 XML 响应。

问题是:为什么当我使用带有编码字符的特定 URL 映射时,返回的是空白屏幕?

最佳答案

URL 映射可以使用 $paramName** 来允许在特定参数内使用斜杠 - 这通常用于 CMS 之类的东西,您希望将整个虚拟路径层次结构映射到单个 Controller ,但它也可能对您有用。

"/api/clientQuote/$labcode/$cliCode/$quoCode**"(controller: "clientQuote") {
action = [GET: "get"]
}

这将允许 http://myapp.com:9090/CCLASService/api/clientQuote/BRMIN/CL-000236/QT-000965/0-0 即使斜杠没有转义。

关于url - Grails URL 映射和 URL 中的斜杠字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23960388/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com