我一直在建设外国客户端发送一个表单urlencoded请求的工作。问题是它一直工作得很好,直到昨天都没有问题。但是现在请求主体没有被发送到服务器。
这是我的配置。
EmailClientConfiguration.class
public class EmailClientConfiguration {
@Bean
public RequestInterceptor requestInterceptor() {
return template -> {
template.header("Content-Type", "application/x-www-form-urlencoded");
};
}
@Bean
public OkHttpClient client() {
return new OkHttpClient();
}
@Bean
Logger.Level feignLoggerLevel() {
return Logger.Level.FULL;
}
@Bean
public Decoder feignDecoder() {
return new JacksonDecoder();
}
@Bean
public Encoder feignFormEncoder () {
return new SpringFormEncoder(new JacksonEncoder());
}
}
客户:
@FeignClient(name = "email", url = "localhost:3000",
configuration = EmailClientConfiguration.class)
public interface EmailClient {
@PostMapping(value = "/email/send", consumes = "application/x-www-form-urlencoded")
ResponseDto sendEmail(@RequestBody Map<String, String> requestBody);
}
请求正文:
Map<String, String> requestBody =
Map.of("username", "xyz",
"email", "xyz@gmail.com",
"key", "xxx");
我从服务器端调试也找不到为什么没有收到请求正文。我在发送请求时没有看到错误。如何在发送请求之前检查请求主体是否存在。
暂无答案!
目前还没有任何答案,快来回答吧!