我花了一些时间试图让我的灰熊网络服务器生成 JSON。
使用 Intellij 从 maven 原型生成,详细信息:
groupId untitled3
artifactId untitled3
version 1.0-SNAPSHOT
archetypeGroupId org.glassfish.jersey.archetypes
archetypeArtifactId jersey-quickstart-grizzly2
archetypeVersion 2.0-m05
所有在线示例都使用 JSON 启用
rc.put(JSONConfiguration.FEATURE_POJO_MAPPING, true);
但是,这在 jersey 2.x 中不起作用,put 方法不存在。
在应用程序 Main 类中,有关于取消注释一行代码以使 JSON 工作的说明。当我取消注释这行代码时,使用的方法不存在。
public static HttpServer startServer() {
// create a resource config that scans for JAX-RS resources and providers
// in untitled2 package
final ResourceConfig rc = new ResourceConfig().packages("untitled2");
// uncomment the following line if you want to enable
// support for JSON on the service (you also have to uncomment
// dependency on jersey-media-json module in pom.xml)
// --
rc.addModule(org.glassfish.jersey.media.json.JsonJaxbModule);
// create and start a new instance of grizzly http server
// exposing the Jersey application at BASE_URI
return GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
}
当我尝试从 POJO 对象提供 JSON 响应时,我收到此错误:
org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=application/json, type=class com.example.JsonPost, genericType=class com.example.JsonPost.
我不知道从哪里开始看。我用谷歌搜索,浏览了文档并查看了用户组......