2013-02-11 58 views
1

我有以下2種方法在我的restful資源類中定義。我正在使用澤西島。但是當我嘗試運行一個單元時,它說錯誤,它們具有相同的媒體類型。我錯過了什麼嗎?澤西島分辨率產生媒體類型衝突錯誤

嚴重:使用資源和/或提供程序類檢測到以下錯誤和警告: 嚴重:生成媒體類型衝突。資源方法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)可以產生相同的媒體類型 Feb 11,2013 5:43:56 PM com.sun.jersey.test.framework.spi.container.inmemory.InMemoryTestContainerFactory $ InMemoryTestContainer停止 信息:停止低水平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; 
} 

回答

3

我注意到的第一件事是,這兩個路徑將發生衝突。澤西島沒有任何參考框架知道/ 1 /元數據應該路由到第一種還是第二種方法。您可以嘗試將路徑定義爲/ doc/metadata/{docid}和/ cor/metadata/{corid}。希望這可以幫助。