返回来自弹簧其余控制器响应具有查询参数

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

我想发送带有redirectUri和查询参数302响应。我能够填补的位置,但不知道如何在包括控制器的响应值作为查询参数。

我试图将值添加到身体,但我想送他们的查询参数。

public ResponseEntity<Void> redirect(@RequestBody MultiValueMap<String,String> formVars, HttpServletResponse response) {
    String clientId = formVars.getFirst(CLIENT_ID);
    String redirectUri = formVars.getFirst(REDIRECT_URI);
    String redirectToken = formVars.getFirst(REDIRECTION_TOKEN);

    ResponseHandler<RedirectDto> redirectDtoResponseHandler = redirectService.redeemRedirectToken(redirectToken);
    if (!redirectDtoResponseHandler.isPresent()) {
        //handle error
    }

    redirectDtoResponseHandler.map(redirectDto -> toCookie(redirectDto.getCustomerSessionId()))
        .ifPresent(response::addCookie);

    URI uri = UriComponentsBuilder.fromHttpUrl(redirectUri).build().toUri();

    //I'd like to add clientId as query param in this response?
    return ResponseEntity.status(HttpStatus.FOUND).location(uri).build();
}

我想的clientId在此响应添加为查询参数?

java spring controller query-parameters
1个回答
1
投票
UriComponents uriComponents = UriComponentsBuilder.newInstance()
      .scheme("http").host(redirectUri)
      .path("/").query("clientId={keyword}").buildAndExpand(clientId);
© www.soinside.com 2019 - 2024. All rights reserved.