Важно FormHttpMessageConverter только для сериализации подкласса MultiValueMap

ой интерфейс Feign

@FeignClient(
        name="mpi",
        url="${mpi.url}",
        configuration = FeignSimpleEncoderConfig.class
)
public interface MpiClient {

    @RequestMapping(method = RequestMethod.POST)
    public ResponseEntity<String> getPAReq(@QueryMap Map<String, String> queryMap
    );
}

и моя настраиваемая конфигурация

public class FeignSimpleEncoderConfig {
    public static final int FIVE_SECONDS = 5000;

    @Bean
    public Logger.Level feignLogger() {
        return Logger.Level.FULL;
    }

    @Bean
    public Request.Options options() {
        return new Request.Options(FIVE_SECONDS, FIVE_SECONDS);
    }

    @Bean 
    @Scope("prototype")
    public Feign.Builder feignBuilder() {
        return Feign.builder()
                .encoder(new FormEncoder());
    }
}

Если я отправляю запрос таким образом, я вижу, что мой запрос отправляет Content-Type: application / json; charset = UTF-8. Но если я установлю тип контента

consumes = "application/x-www-form-urlencoded"

У меня есть это сообщение об ошибке

feign.codec.EncodeException: Could not write request: no suitable HttpMessageConverter found for request type [java.util.HashMap] and content type [application/x-www-form-urlencoded]
    at org.springframework.cloud.netflix.feign.support.SpringEncoder.encode(SpringEncoder.java:108) ~[spring-cloud-netflix-core-1.1.7.RELEASE.jar:1.1.7.RELEASE]

Как отправить POST-запрос, я думаю, что я должен сделать что-то еще с Encoder. Спасибо за вашу помощь.

Ответы на вопрос(3)

Ваш ответ на вопрос