我有一个使用Jersey 2.6和Swagger 1.3.7的REST API。我读到Jersey 2.9修复了我收到的警告,所以我升级到了最新的Jersey 2.16,但后来Swagger停止了工作。我回去一次升级一个版本,直到我看到Swagger正在使用2.15,所以我决定使用2.15。现在,PUT API失败,Swagger返回以下错误:
服务器拒绝了此请求,因为所请求的方法所请求的资源不支持请求实体的格式
该接口使用FireFox应用程序并指定“RESTClient /json”。
我确实有"jersey-media-json-jackson“作为依赖项,并在程序中调用"Client client = ClientBuilder.newClient().register(JacksonFeature.class);”“。
我试着升级Swagger,但没有帮助。
Swagger是否已通过验证可与Jersey 2.15/2.16配合使用?
发布于 2015-04-06 20:04:37
我最近设法让swagger-core与Jersey 2.16一起工作,但也有类似的问题。请记住,他们使用的是最新版本(1.5.X),而不是1.3.X,但同样的解决方案也适用。
这个问题很可能是版本解析的问题,特别是jackson-databind的问题。出于某种原因,即使jersey-media-json-jackson 2.16也依赖于较旧版本的jackson-databind,尽管它在最新版本上工作得很好。在没有更多细节的情况下,很难提出一个完整的解决方案,但您可以按照依赖关系树来查看冲突。
如果你确实需要进一步的帮助,我建议使用我们的邮件列表,或者更好的IRC频道,在那里我们可以在线互动并解决问题。
https://stackoverflow.com/questions/29097584
复制相似问题