0
假設我有兩個端點看起來像這樣的:基於Accept頭進行Jersey端點仲裁:什麼時候沒有給出Accept頭?
@GET
@Path("/blah")
@Produces(MIME_TYPE_1)
public Thing getThing() {
....
}
@GET
@Path("/blah")
@Produces(MIME_TYPE_2)
public OtherThing getOtherThing() {
....
}
這都非常好,系統會根據該Accept
頭客戶端發送這些方法調用仲裁。
我遇到的問題是,如果客戶端完全沒有關閉Accept
頭,我(出於某種原因)得到第二個方法被調用,我希望它是第一個。
還有一個額外的複雜因素,那就是它會自動提供到Swagger文檔中,而且我不希望在文檔中出現額外的MIME類型,所以我不想(例如)將*/*
添加到第一種方法接受的類型。
(這是使用Dropwizard和澤西1.x中,雖然我聽到基於新澤西2.x的解決方案仍然感興趣,這是我們可能很久以前升級。)
您_might_能夠過濾請求和修改'Accept'頭澤西查詢之前。我認爲它不適用於'ContainerRequestFilter',但它可能與'ServletFilter'一起使用。 – condit