java - Rest API 请求参数和路径变量

标签 java spring-boot resttemplate

我必须使用以下 URL 调用 Get 服务。 URL 是路径变量和请求参数的混合。目前 URL 尚未正确构建。有什么建议吗?

下面是我的尝试以及 Postman 的实际输出。

示例:

@GetMapping(value = "/{abc}/commPrefsConsents/fieldOptions")
public ResponseEntity<String> getIndividualApi(@PathVariable(value = "abc") String abc, @RequestParam(required = true) String fieldOptions)

实际网址:

http://localhost:8080/token/ca26e12dcfg-gdhska1/commPrefsConsents/?fieldOptions=preference-basic

从 Rest Controller 创建 URL:

http://localhost:8080/ca26e12dcfg-gdhska1preference-basic

最佳答案

适当的 uri 是:

/ca26e12dcfg-gdhska1/commPrefsConsents/fieldOptions?fieldOptions=preference-basic

映射也有可能受到类级别的 @RequestMapping(value='foo') 的影响。如果是这样,只需将 foo 添加到 uri 调用的开头即可。

关于java - Rest API 请求参数和路径变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60571376/

相关文章:

java - 找不到从哪里获取 Spring xml 命名空间条目

java - Spring Sleuth,Log4j2不同服务中的不同跟踪ID

rest - restTemplate.exchange()方法有什么作用?

java - 从 @ActionMapping 重定向,不调用毫无意义的 @RenderMapping

java - H2O MOJO 线程安全吗? -xgboost

java - 下面的代码在某些IDE中而不是在某些IDE中进行编译 “Java is Unsound”

Spring 启动+ thymeleaf : get logged in user

java - 升级到 Spring Boot 2 后应用程序无法启动

java - 如何在谷歌云kubernetes中部署docker镜像

java - Rest模板拦截器