gpt4 book ai didi

java - org/glassfish/jersey/jackson/JacksonFeature 未在我的 rest API 中定义

转载 作者:行者123 更新时间:2023-11-30 08:32:47 26 4
gpt4 key购买 nike

我创建了一个小的 REST API,它似乎工作得很好。我想使用 Twitter API 并显示一些推文。但是当我尝试这样做时,我的服务器会抛出错误。

尝试此 URL 时,访问我的旧资源之一工作正常:http://localhost:8080/api-mashup-api/api/v1/foo/bar :

    @GET
@Path("/bar")
@Produces(MediaType.TEXT_HTML)
public String print2() {
return "This should be printed if in foo/bar";
}

但是如果我在 http://localhost:8080/api-mashup-api/api/v1/foo/twitter 尝试我的“twitter 方法” :

    @GET
@Path("/twitter")
@Produces(MediaType.TEXT_HTML)
public String print5() {
//I have my real tokens here of course.
ClientIdentifier ci = new ClientIdentifier("clientID",
"ClientSecret");

OAuth2CodeGrantFlow flow = OAuth2ClientSupport
.authorizationCodeGrantFlowBuilder(ci,
"https://api.twitter.com/oauth2/token", "https://api.twitter.com/oauth2/token")
.scope("contact")
.build();

String finalAuthorizationUri = flow.start();

return "This is the bearer: " + finalAuthorizationUri.toString();
}

它抛出以下错误:

 HTTP Status 500 - org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/glassfish/jersey/jackson/JacksonFeature

实际上它应该只打印我的不记名 token 。我曾尝试导入各种 jackson jar 文件,但未能成功运行。我可能会补充说,我使用 Tomcat v8 而不是 Glassfish 服务器。

最佳答案

您缺少一个 jar,特别是 jersey-media-json-jackson-2.XX.jar(其中 XX 是您正在使用的 Jersey 版本)

你可以像这样添加maven依赖:

<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.media/jersey-media-json-jackson -->
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.26</version>
</dependency>

关于java - org/glassfish/jersey/jackson/JacksonFeature 未在我的 rest API 中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39875832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com