我有一个客户端包,其中定义了我的 REST 客户端,其中包含以下接口和模型:
@Path("/")
@RegisterRestClient(configKey = "some-api")
public interface SomeRestClient {
@POST
@Path("/oauth/token")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
OAuthResult getOAuthToken(OAuthRequest oAuthRequest);
}
和 OAuthRequest 类:
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OAuthRequest {
private String email;
private String password;
@JsonProperty("grant_type")
private String grantType;
@JsonProperty("client_id")
private String clientId;
@JsonProperty("client_secret")
private String clientSecret;
}
我将此包导入到我的主服务包中,但 quarkus 似乎没有获取 Jackson 注释。请求的属性使用驼峰式大小写进行序列化,而它们应该是蛇形大小写。
@Inject
@RestClient
private SomeRestClient someRestClient;
OAuthRequest oAuthRequest = new OAuthRequest();
//set fields
OAuthResult oAuthResult = someRestClient.getOAuthToken(oAuthRequest);
编辑:
我正在使用 quarkus-rest-client-jackson 和 quarkus-rest-client 依赖项,任何地方都没有 jsonb 依赖项。
我试图缩小问题的范围:我已将客户端/请求类移动到我的主包中,并且我已经删除了 lombok 注释并公开了我的包含 Jackson 注释的字段。仍然是同样的问题......有人能指出我做错了什么的正确方向吗?