Java REST调用中未传递参数。但在《邮递员》中效果很好
我正在下面的getPlanPreferenceRules端点中执行集成测试,参数值不会传递给preferences管理服务。然而,当我试着在《邮递员》中测试同样的方法时,效果很好 下面是执行REST调用的代码Java REST调用中未传递参数。但在《邮递员》中效果很好,java,rest,spring-boot,controller,endpoint,Java,Rest,Spring Boot,Controller,Endpoint,我正在下面的getPlanPreferenceRules端点中执行集成测试,参数值不会传递给preferences管理服务。然而,当我试着在《邮递员》中测试同样的方法时,效果很好 下面是执行REST调用的代码 @Override public ServiceClientResponse<GetPlanPrefRulesResponse> getPlanPrefereneRules(GetPlanPrefRulesRequest parameters,
@Override
public ServiceClientResponse<GetPlanPrefRulesResponse> getPlanPrefereneRules(GetPlanPrefRulesRequest parameters,
String currentUserId, String correlationId, String requestorApp) {
RequestEntity<?> targetRequest =
createGetPlanPrefRulesRequest(parameters, currentUserId, correlationId, requestorApp);
return this.restClientService.exchangeAndParse(
this.getRulesRestTemplate, targetRequest, new TypeReference<GetPlanPrefRulesResponse>(){});
}
@覆盖
公共服务ClientResponse GetPlanPreferGenerules(GetPlanPreferRules请求参数,
字符串currentUserId、字符串correlationId、字符串请求者App){
RequestEntity targetRequest=
createGetPlanPrefRulesRequest(参数、currentUserId、correlationId、requestorApp);
返回this.restClientService.exchangeAndParse(
this.getRulesRestTemplate、targetRequest、new TypeReference(){});
}
以下是Spring控制器服务:
@GetMapping(value = PATH_PLAN_PREF_RULES)
public ResponseEntity<?> getPlanPrefRules(
@Valid final GetPlanPrefRulesRequest request )
{
log.info("getPlanPrefRulesDataRequest: Entering: GetPlanPrefRulesRequest={}", request);
return ResponseEntity.ok(this.getPlanPreferenceRulesService.getPlanPrefRules(request));
}
@GetMapping(值=路径\计划\优先规则)
公共响应getPlanPrefRules(
@有效的最终GetPlanPrefRules请求)
{
log.info(“getPlanPrefRulesDataRequest:输入:GetPlanPrefRulesRequest={}”,请求);
返回ResponseEntity.ok(this.getPlanPreferenceRulesService.getPlanPrefRules(请求));
}
下面是创建REST调用请求的代码:
protected RequestEntity<?> createGetPlanPrefRulesRequest(
final GetPlanPrefRulesRequest parameters,
final String currentUserId,
final String correlationId,
final String requestorApp)
{
URI targetUri = UriComponentsBuilder.fromUri(this.preferencesServiceUri)
.path(this.rulesPath).build().toUri();
HttpHeaders targetHeaders = createHeaders(
currentUserId,
correlationId,
requestorApp);
return new RequestEntity<>(
parameters,
targetHeaders,
HttpMethod.GET,
targetUri);
}
受保护的请求实体createGetPlanPrefRulesRequest(
最终GetPlanPrefRules请求参数,
最终字符串currentUserId,
最终字符串correlationId,
最终字符串请求程序(ORApp)
{
URI targetUri=UriComponentsBuilder.fromUri(this.preferencesServiceUri)
.path(this.rulesPath).build().toUri();
HttpHeaders targetHeaders=createHeaders(
当前用户ID,
关联ID,
请求者);
返回新的请求实体(
参数,
目标读者,
HttpMethod.GET,
塔格图里);
}
我不确定我错过了什么。感谢您的任何意见 更新此方法
@GetMapping(value = PATH_PLAN_PREF_RULES)
public ResponseEntity<?> getPlanPrefRules(
@RequestBody @Valid final GetPlanPrefRulesRequest request )
{
log.info("getPlanPrefRulesDataRequest: Entering: GetPlanPrefRulesRequest={}", request);
return ResponseEntity.ok(this.getPlanPreferenceRulesService.getPlanPrefRules(request));
}
@GetMapping(值=路径\计划\优先规则)
公共响应getPlanPrefRules(
@RequestBody@Valid final GetPlanPrefRulesRequest请求)
{
log.info(“getPlanPrefRulesDataRequest:输入:GetPlanPrefRulesRequest={}”,请求);
返回ResponseEntity.ok(this.getPlanPreferenceRulesService.getPlanPrefRules(请求));
}