小编Nit*_*sad的帖子

Spring WebFlux WebClient - 如何解决 400 错误请求

我是反应式编程的新手,我正在使用 Spring WebFlux 的 WebClient 向以下 URL 发出 POST 请求,作为我的 Spring Boot 应用程序的一部分,以将现有测验分配给候选人。我无法理解我在构建 WebClient 请求时做错了什么。

终点

https://www.flexiquiz.com/api/v1/users/{user_id}/quizzes

在我的请求正文中,我需要传递从另一个 API 获得的测验 ID(工作正常)。

{
   "quiz_id": ""
}
Run Code Online (Sandbox Code Playgroud)

除了传递请求正文之外,我还传递X-API-KEY作为请求标头的一部分。

但是,当我尝试到达终点时,我收到了{"message":"400: Bad Request"}错误。

下面是我的代码。

测验请求.java

@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
public class QuizRequest {

  @JsonProperty("quiz_id")
  @NotBlank
  private String quizId;

  public QuizRequest(@NotBlank String quizId) {
    this.quizId = quizId;
  }
}
Run Code Online (Sandbox Code Playgroud)

FlexiQuizClient.java

@Service
@Slf4j
public class FlexiQuizClient {

  private static final String USER_AGENT = "WebClient for FlexiQuiz";

  private final WebClient webClient;

  @Value("${flexiquiz.baseurl}")
  private String FLEXIQUIZ_API_BASE_URL; …
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot spring-webflux spring-webclient

5
推荐指数
1
解决办法
2万
查看次数