当前位置: 首页 > 知识库问答 >
问题:

使用webClient调用post api

终翰学
2023-03-14

我必须调用postapi使用webClient生成令牌。我将在断言中发送jwt令牌。我通过网络获得了一些示例,但我不知道如何与API一起传递参数。有人能帮忙吗?

我需要调用docusign apihttps://account-d.docusign.com/oauth/token

此外,我需要发送grant\u type断言。我不知道如何收到这个。有人能举个例子吗?以下是供参考的图像。

在此处输入图像描述

共有2个答案

琴俊人
2023-03-14

如果您使用的是java,那么您可以使用HTTPClient。

HttpRequest request = HttpRequest.newBuilder()
  .uri(new URI("url"))
  .headers("Content-Type", "text/plain;charset=UTF-8")
  .headers("grant_type", "")
  .headers("assertion", "")
  .POST(HttpRequest.BodyPublishers.ofString("Sample request body"))
  .build();

如果您使用的是spring,那么您可以使用webclient。你可以这样设置标题。

webClient.post()
  .uri(UriComponentsBuilder.fromUriString("url").queryParam("assertion", "").queryParam("grant_type", "").toUriString()).retrieve();

希望这能帮助您设置多个标题。

颛孙国源
2023-03-14

要使用查询参数构建uri,可以使用UriComponentsBuilder

final WebClient.ResponseSpec response = webClient.post()
      .uri(UriComponentsBuilder.fromUriString("https://account-d.docusign.com/oauth/token")
        .queryParam("grant_type", "xyz")
        .queryParam("assertion", "anything")
        .toUriString())
      .retrieve();
 类似资料:
  • 我有一种情况,我可以使用阻塞I/O库访问外部服务上的RESTendpoint,或者在这种情况下,我可以直接使用HttpClient(如WebClient)调用REST。现在,我想知道在包装对该库的调用和将其发布到弹性线程或使用WebClient访问endpoint之间是否存在性能差异。 如何准确地处理调用这两个选项。所以我们假设网络流量使用单线程来处理请求。然后,请求将由WebClient处理。这

  • 如果类路径上有SpringWebFlux,还可以选择使用WebClient调用远程REST服务。与RestTemplate相比,这个客户端具有更多的功能感和完全的反应性。您可以在SpringFrameworkdocs中的专用部分中了解更多关于WebClient的信息。 Spring Boot为您创建并预配置WebClient.Builder; 强烈建议将其注入组件并使用它来创建WebClient实

  • 我正在尝试理解WebFlux,但在WebClient调用方面遇到了一些问题。我没有看到这一行System.out.println("CusterId="CusterId);执行它似乎不调用endpoint。但是如果我使用。订阅(客户-

  • RestTemplate文档中的Spring注意: 注意:从5.0开始,这个类处于维护模式,只接受微小的更改请求和bug。请考虑使用org.springframework.web.reactive.client.WebClient,它具有更现代的API,支持同步、异步和流场景。 https://docs.spring.io/spring-framework/docs/current/javadoc

  • 我搜索了许多网站和文档,但异步调用使用的代码相同。但不确定为什么它不起作用。如果我错过了什么,有人能帮我吗?

  • 需要从单声道递归调用单声道以获得完整的项目。我有一个Pojo项目,在这里我将传递根ID,并尝试从另一个服务获得项目。我写我的服务使用sprignwebFlow。所以我正在使用webClient调用服务并返回Mono 另一项服务将提供该项目及其直接子项。因此,我的要求是,当我传递根id时,我将获得根项及其直接子项,根将LM类型项作为子项。 获得Root项目后,我需要收集所有的LM id,并再次调用每