Spring Rest GetMapping @RequestParam 无法识别第二个参数并填充第一个参数中的所有内容

问题描述 投票:0回答:1

所以我正在使用 Spring Boot 和 Angular 我正在调用带有一些参数的休息控制器方法,如下

getModelByParamOneAndParameTwo(parameterone: string,parametertwo:string): Observable<Model> {
    return this.http.get<Model>("http://localhost:8080/api/model/filter?x="+parameterone+"&y="+parametertwo);
  }

我更改了名称以使其抽象,但要点很明确,我在参数中命名了参数 x 和 y 以保持保密,当用户在链接中看到参数时,他不应该知道它是什么 无论如何,这是弹簧控制器方法

@GetMapping("/filter")
   public ResponseEntity<Object> getModelByParamOneAndParameTwo(@RequestParam("x") String parameterone,@RequestParam("y") String parametertwo) {
       return modelService.getModelByParamOneAndParameTwo(parameterone,parametertwo);
   }

现在的问题是,当我调试这个时,我发现 paramaterone=parameterOneValue?y=parameterTwoValue 参数二=未定义

所以这里的问题是,parameterOneValue 被控制器识别,但他无法将它与第二个值分开,并且第二个值是空的 另外,它确实以某种方式将 & caractere 转换为 ?尽管是我写的&

我什至尝试使用 httpParams 代替并将其传递到 get 请求选项中,但它也没有成功

java angular spring-boot spring-restcontroller angular-httpclient
1个回答
0
投票

您可以将它们作为对象作为 get 函数的第二个参数发送,如下所示

所以我正在使用 Spring Boot 和 Angular,并且我正在调用带有一些参数的其余控制器方法,如下所示

getModelByParamOneAndParameTwo(parameterone: string,parametertwo:string): Observable<Model> {
    return this.http.get<Model>("http://localhost:8080/api/model/filter", 
    {
        x: parameterone,
        y: parametertwo,
    }
    );
  }
© www.soinside.com 2019 - 2024. All rights reserved.