【发布时间】:2018-08-14 03:02:20
【问题描述】:
我正在 getPlanPreferenceRules 端点下方执行集成测试,并且参数值未传递给首选项管理服务。但是,当我尝试在邮递员中进行相同的测试时,它工作正常。
以下是执行 REST 调用的代码。
@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>(){});
}
下面是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));
}
以下是创建 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);
}
我不确定我错过了什么。任何意见表示赞赏!
【问题讨论】:
标签: java rest spring-boot controller endpoint