我有一个客户端包,我在其中定义了我的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注释的字段成为公共字段。仍然是同样的问题。谁能给我指出正确的方向,指出我做错了什么?
发布于 2020-09-28 19:30:58
Reasteasy用于您的REST端点不访问远程REST服务。要访问远程REST服务,需要使用REST客户端。
REST客户端支持您使用quarkus-rest-client-jackson依赖,而不是JSON-B依赖。
https://stackoverflow.com/questions/64101229
复制相似问题