如何在spring mvc中使用@PathParam传递2个或更多变量?假设我想用邮差测试一下该怎么做呢?



我正在尝试使用JPA存储库方法从db获取值

product findByIdNumberOrCifNumber(String idNumber , String cifNumber);

服务类逻辑:-

public ResponseModel FindByCivIDOrCifNumber(String idNumber,String cifNumber) {
ResponseModel responseModel = new ResponseModel();
Optional<product> civId = Optional.ofNullable(productRepos.findByIdNumber(idNumber));
if (civId.isPresent()) {
responseModel.setResponse(productRepos.findByIdNumberOrCifNumber(idNumber,cifNumber));
} else {
errorModel errorModel1 = new errorModel();
enter image description here        errorModel1.setErrorCode(productConstant.INVALID_REQUEST);
errorModel1.setErrorDescription("Requested Civil Id or CifNUmber is not present");
responseModel.setErrorModel(errorModel1);
}
return responseModel;
}



控制器类: -

@GetMapping("/getByCifNoOrGetByIdNo")
public ResponseModel getProductByCifNoOrGetByIdNo(@RequestParam String idNumber,@RequestParam String cifNumber )  {
return productService.FindByCivIDOrCifNumber(idNumber,cifNumber);
}

发布人:-

请告诉我如何使它工作:)

如果您正在寻找传递两个或多个路径变量的答案并使用postman进行测试,您可以试试这个

@GetMapping("/api/mapping-name/{variable1}/{variable2}")

这里您将获得两个路径变量,您可以通过语法

访问它们
@PathVariable("variable1") datatype variableName 

现在在邮差请求url中,你可以简单地给出相应的url,比如:

https://localhost8080/api/mapping-name/:variable1/:variable2

,它将自动在参数的路径变量部分中为您提供一个键值部分,并根据您给出的名称预先填充键名。在本例中,variable1 &variable2 .

给出相应的值,它应该可以工作。

最新更新