我是反应式编程的新手,我正在使用 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)