2015-11-04 24 views
17

「/ v1 /」のような休憩パスと、「/ test /」のようなサーブレットで設定されたエンドポイントを設定しました。警告:(サブ)リソースメソッドには空のパス注釈が含まれています

今、 "/ v1"をJavaクラス "Test"から削除しました。

org.glassfish.jersey.internal.Errors logErrors 
WARNING: The following warnings have been detected: WARNING: The (sub)resource method test in com.abc.services.Test contains empty path annotation. 

この変更を加えた後、私は上記の警告を受けました。この警告を処理するには?

そして、この "/ v1"で10個の残りのパスの変更を削除します。誰も私に警告なしで走るのを助けますか?

答えて

32

この警告は、@Path("/")または@Path("")と注釈されたリソースメソッドがあることを意味します。たとえば

@Path("test") 
public class Test { 

    @GET 
    @Path("/") 
    public String test(){} 
} 

ジャージーが警告を出す理由をよくわからない、本当にあなたが本当に望んでいるかどうかを確かめるのはなぜか分かりません。その理由は、あなただけの@Path("/")なし

@Path("test") 
public class Test { 

    @GET 
    public String test(){} 
} 

を行うとしたらそれはすでに暗示だと@Path("/")とリソースメソッドは、冗長であるということです。それは同じように動作します。だからあなたがこれらを持っているなら、それらを取り除き、それは警告を奪うべきです。

+0

ありがとう@peeskillest。それは今警告なしで働いています。ありがとう。 – brisk

+2

ありがとう。クラスレベルのアノテーションには適用されませんが、その場合は「/」が必要です。 – Sebas