簡體   English   中英

RESTeasy如何解決@Path沖突

[英]How RESTeasy solves @Path conflict

考慮上面的代碼

@Path("a")
@Produces("text/plain")
public class A {

    @GET
    @Path("a")
    public String getA() {
        return "a";
    }

    @GET
    @Path("a")
    public String getB() {
        return "b";
    }
}

請求http:// host / a / a我總是得到“b”。

選擇適當方法的策略是什么? 有什么方法可以了解不同資源的多條路徑?

根據評論進一步編輯

我不知道RESTEasy中的任何報告工具提供了一系列帶注釋的服務類的重復匹配模式列表。 但是,您可以使用以下方法之一解決此問題:

  1. grep和awk @Path的源代碼生成路徑表達式的可排序列表
  2. 使用AnnotationReader實現作為單元測試的一部分掃描類路徑,並讓它檢測重復的正則表達式模式。

編輯以更好地針對問題

RESTEasy使用基於正則表達式的路徑系統並選擇最匹配的模式。 在發生碰撞時,使用匹配的最后一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM