如何在 GET 方法中为 Spring Boot 控制器类传递多个路径变量?
Posted
技术标签:
【中文标题】如何在 GET 方法中为 Spring Boot 控制器类传递多个路径变量?【英文标题】:How to pass multiple path variables for spring boot controller class in GET method? 【发布时间】:2018-04-20 07:16:30 【问题描述】:我试图在 GET 方法中将多个路径变量传递给我的控制器类,所以我通过 POSTMAN 提供变量,当我尝试单个变量时它工作正常,但对于两个变量我得到空结果。
这就是我通过 POSTMAN 传递变量的方式 本地主机:8081/specquestions/java/oops
这里'java'是一个变量,'oops'是另外一个变量
我的 java 控制器类
@RequestMapping(method=RequestMethod.GET,value="/specquestions/subject/topic")
public ResponseEntity<List<QuestionBank>> getSpecificQuestions(@PathVariable String subject,String topic)
return ResponseEntity.ok( questionBankService.getSpecificquestions(subject,topic));
谁能告诉我我在哪里做错了。
【问题讨论】:
你忘了用@PathVariable
注释第二个参数,就像第一个一样。
@JBNizet 非常感谢,是的,现在它正在工作
【参考方案1】:
只需为控制器中的第二个参数添加@PathVariable,如下所示
@RequestMapping(method=RequestMethod.GET,value="/specquestions/subject/topic")
public ResponseEntity<List<QuestionBank>> getSpecificQuestions(@PathVariable String subject,@PathVariable String topic)
return ResponseEntity.ok( questionBankService.getSpecificquestions(subject,topic));
【讨论】:
以上是关于如何在 GET 方法中为 Spring Boot 控制器类传递多个路径变量?的主要内容,如果未能解决你的问题,请参考以下文章
我应该如何在 Gradle 中为 Spring Boot 应用程序设置主类?
在 Spring Boot Actuator 中为 /health 端点启用 CORS
如何在 Spring Boot JPA 中的 OneToMany 中为孩子获取 Null 值
在 Spring boot 中为 Filter (OncePerRequestFilter) 编写单元测试
在 Spring Boot 中为 POST 传递 JSessionId 和 CSRF-Token
如何在 Spring Boot 中为 Spring LDAP 身份验证设置覆盖 BindAuthenticator handleBindException