www-form-urlencoded类型请求,服务器端缺少java-请求正文

bgibtngc  于 2021-07-16  发布在  Java
关注(0)|答案(0)|浏览(238)

我一直在建设外国客户端发送一个表单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");

我从服务器端调试也找不到为什么没有收到请求正文。我在发送请求时没有看到错误。如何在发送请求之前检查请求主体是否存在。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题