首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UriTemplate解析器解释通配符

UriTemplate解析器解释通配符
EN

Stack Overflow用户
提问于 2015-03-20 22:20:31
回答 2查看 520关注 0票数 2

我有这样的uriTemplate

代码语言:javascript
复制
/{repository}/{id}/action/{methodName}/**

org.springframework.data.rest.webmvc.util.UriUtils使用org.springframework.web.util.UriTemplate获取findMappingVariable方法中的变量

将UriTemplate.Parser构建模式设置为此值

代码语言:javascript
复制
\Q/\E(.*)\Q/\E(.*)\Q/action/\E(.*)\Q/**\E

为什么不这样做呢?

代码语言:javascript
复制
\\Q/\\E(.*)\\Q/\\E(.*)\\Q/action/\\E(.*)\\Q/\\E(.*)\\Q\\E

由于此功能,我在那里有一个空地图

代码语言:javascript
复制
Map<String, String> variables = new org.springframework.web.util.UriTemplate(mapping).match(lookupPath);

对于此lookupPath

代码语言:javascript
复制
 /educationDistrict/308/action/resetAddressesForYear/1
EN

回答 2

Stack Overflow用户

发布于 2015-03-21 20:34:29

我不认为URI模板中允许使用**段。在这种情况下,如果**部分匹配多个数据段,那么在获取路径变量时会发生什么?

请注意,如果您试图构建模板以便进行REST调用,则应该检查RestTemplate和UriComponentsBuilder (see reference doc)。

票数 0
EN

Stack Overflow用户

发布于 2020-06-12 16:57:50

如果你想要一个匹配正则表达式的UriTEmplate,你可以使用它{:},例如,

/test-service/test-endpoint/countries/1/cities/2

/test-service/test-endpoint/people/5/adults/6

可以与UriTemplate 分别匹配

/test-service/test-endpoint/countries/{id}/cities/{id}

/test-service/test-endpoint/people/{id}/adults/{id}

如果您想同时匹配和

/test-service/test-endpoint/{:.*}

以下是链接

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/util/UriTemplate.html#matches-java.lang.String-

URI template needs to match with variable value that is a set of folders

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29168734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档