OpenFeign / feign-form

Open Feign form encoder
Apache License 2.0
291 stars 81 forks source link

decorating JacksonEncoder ignores #94

Open GoodBoy962 opened 4 years ago

GoodBoy962 commented 4 years ago

While trying to use FormEncoder with JacksonEncoder encoder faced with ignoring 2nd one.

Wrapping JAX-RS with Feign

Feign.builder()
                .encoder(new FormEncoder(new JacksonEncoder()))
                .decoder(new JacksonDecoder())
                .contract(new JAXRSContract())
                .logger(new FeignSlf4jMultilineLogger(ApiClient.class))
                .logLevel(Logger.Level.FULL)
                .target(ApiClient.class, address);

JAX-RS service

public interface ApiClient {

    @POST
    @Path("/token/")
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    Response getAccessToken(@HeaderParam("Authorization") String authSecret, Request request);
}

Request

@Getter
@Setter
public class Request {
    @JsonProperty("client_id")
    private String clientId;
    @JsonProperty("scope")
    private String scope;
    @JsonProperty("grant_type")
    private String grantType;

Request sends with grantType=something&scope=something&clientId=11111

What should we add not to ignore JsonProperty annotations?

alexyakovlev90 commented 4 years ago

Have you tried @FormProperty("client_id")?

slawekjaranowski commented 4 years ago

can be connected with:: #95