@Test
  void alwaysEncodeBodyTrueTest() {
    SampleTargetMultipleNonAnnotatedParameters sampleClient1 =
        Feign.builder()
            .contract(new SampleContract())
            .encoder(new AllParametersSampleEncoder())
            .client(new SampleClient())
            .target(SampleTargetMultipleNonAnnotatedParameters.class, "http://localhost");
    assertThat(sampleClient1.concatenate("foo", "bar", "char")).isEqualTo("foobarchar");

    SampleTargetNoParameters sampleClient2 =
        Feign.builder()
            .contract(new SampleContract())
            .encoder(new AllParametersSampleEncoder())
            .client(new SampleClient())
            .target(SampleTargetNoParameters.class, "http://localhost");
    assertThat(sampleClient2.concatenate()).isEqualTo("");

    SampleTargetOneParameter sampleClient3 =
        Feign.builder()
            .contract(new SampleContract())
            .encoder(new AllParametersSampleEncoder())
            .client(new SampleClient())
            .target(SampleTargetOneParameter.class, "http://localhost");
    assertThat(sampleClient3.concatenate("moo")).isEqualTo("moo");
  }
This test makes sure Feign calls the client provided encoder regardless of how many
non-annotated parameters the client method has, as alwaysEncodeBody is set to true.
core/src/test/java/feign/AlwaysEncodeBodyContractTest.java