@Test
  void encodedQueryWithUnsafeCharactersMixedWithUnencoded() {
    RequestTemplate template =
        new RequestTemplate()
            .query("params[]", "not encoded") // stored as
            // "param%5D%5B"
            .query("params[]", "encoded"); // stored as "param[]"

    assertThat(template.queryLine()).isEqualTo("?params%5B%5D=not%20encoded&params%5B%5D=encoded");
    Map<String, Collection<String>> queries = template.queries();
    assertThat(queries).containsKey("params[]");
    assertThat(queries.get("params[]")).contains("encoded").contains("not%20encoded");
  }
Implementations have a bug if they pass junk as the http method.
core/src/test/java/feign/RequestTemplateTest.java