如何在 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