【问题标题】:Producing media type conflict error in Jersey resolution在泽西岛解析中产生媒体类型冲突错误
【发布时间】:2013-02-11 23:44:12
【问题描述】:

我在我的宁静资源类中定义了以下这两种方法。我正在使用泽西岛。但是当我尝试运行一个单元时它说错误,它们具有相同的媒体类型。我错过了什么吗?

严重:在资源和/或提供程序类中检测到以下错误和警告: 严重:产生媒体类型冲突。资源方法 public javax.ws.rs.core.Response com.thomsonreuters.codes.sourcedocweb.resource.DocumentsResource.findDocumentMetadataByCorId(java.lang.String) 和 public javax.ws.rs.core.Response com.thomsonreuters.codes。 sourcedocweb.resource.DocumentsResource.findDocumentMetadata(java.lang.String) 可以产生相同的媒体类型 2013 年 2 月 11 日下午 5:43:56 com.sun.jersey.test.framework.spi.container.inmemory.InMemoryTestContainerFactory$InMemoryTestContainer 停止 INFO: 停止低级 InMemory 测试容器

@GET
@Path("/{docId}/metadata")
@Produces(MediaType.APPLICATION_XML)
public Response findDocumentMetadata(@PathParam("docId")
final String docId)
{
    Response response = findMetadataForDocument(docId);

    return response;
}


@GET
@Path("/{corid}/metadata")
@Produces(MediaType.APPLICATION_XML)
public Response findDocumentMetadataByCorId(@PathParam("corid")
final String corid)
{
    Response response = findMetadataForDocument(corid);

    return response;
}

【问题讨论】:

    标签: java jersey


    【解决方案1】:

    我注意到的第一件事是两条路径会发生冲突。 Jersey 没有任何参考框架来了解 /1/metadata 是否应该路由到第一种或第二种方法。您可以尝试将路径定义为 /doc/metadata/{docid} 和 /cor/metadata/{corid}。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-07-12
      • 1970-01-01
      • 2015-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      • 1970-01-01
      相关资源
      最近更新 更多