如何解决假应用/x-www-form-urlencoded 类型请求的服务器端缺少请求正文
我一直致力于构建 feign 客户端以发送表单 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");
我从服务器端调试也找不到为什么没有收到请求正文。发送请求时我没有看到错误。如何在发送请求之前检查请求正文是否存在。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。