1

API の URL をユーザー リソースの次の形式にする必要があります。

http://hostname/webappname/something/something/serviceName/orgs/{id}/users

ただし、URL マッピングが失敗すると、404 エラーが発生します。しかし、次の形式の場合、応答が得られます。

http://hostname/webappname/{id}/something/something/serviceName/orgs/{id}/users

これは私の@Path注釈です:

@Path("/orgs/{oid: [0-9]+}/users")

しかし、次の@Path注釈がある場合:

@Path("/orgs")

URL付き

http://hostname/webappname/{id}/something/something/serviceName/orgs
http://hostname/webappname/something/something/serviceName/orgs

いつも返事が返ってきます。@Pathリソースに注釈を付ける方法を教えてください。または、どこが間違っていますか?

ユーザー リソース クラスは次のようになります。

    @Path("/orgs/{oid: [0-9]+}/users")
    @Component
    public class UserResource extends Resource {

    }

Orgs Resource クラスは次のようになります。

    @Path("/orgs")
    @Component
    public class OrgResource extends Resource {

    }
4

2 に答える 2

2

JAX-RSサブリソースを使用する必要があります。あなたの場合、UserResourceはのサブリソースですOrgResource

于 2013-01-24T13:20:17.950 に答える
0

私は問題を理解しました。my @Path アノテーションとは何の関係もありませんでした。このプロジェクトの作成中に、古いコードの依存関係をいくつか追加しました。そのうちの 1 つは、次のフィルターに渡す前に、URL に存在するシャードを削除するフィルターのシャーディング解除でした。要求されたパスから {oid} を削除していたため、URL マッピング エラーが発生しました。プロジェクトの URL 形式を変更したときにのみ、この問題に直面しました。

于 2013-02-03T17:16:29.570 に答える