jackson 使用在@JsonProperty中设置的正文名称发出HTTP请求

wvmv3b1j  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(176)

我有一个使用Jackson的Spring Boot应用程序来处理JSON,并且我使用Retrofit2来发出HTTP请求。我想发送名称设置在@JsonProperty注解中的body参数:

public class OAuthTokenRequest {

  @JsonProperty("oauth_consumer_key")
  private String consumerKey;

  @JsonProperty("oauth_nonce")
  private String nonce;

  @JsonProperty("oauth_timestamp")
  private Long timestamp;

  ...
}

这就是请求:

@POST("/oauth-service/oauth/request_token")
Call<ResponseBody> getOauthToken(@Body OAuthTokenRequest request);

在这个代码片段中,我想发送注解中命名的参数(oauth_consumer_keyoauth_nonceoauth_timestamp等)。但是,参数是这样发送的:

vwkv1x7d

vwkv1x7d1#

在您的类上方添加以下注解

@JsonNaming(PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy.class)

public class OAuthTokenRequest {

  @JsonProperty("oauth_consumer_key")
  private String consumerKey;

  @JsonProperty("oauth_nonce")
  private String nonce;

  @JsonProperty("oauth_timestamp")
  private Long timestamp;

  ...
}

相关问题