1

URLをいじらずに、正確な URLPlay Frameworkを呼び出すように指示できますか?

空の値で GET リクエストを実行したいと考えています。

ただし、Play によって行われたリクエストを検査しているときに、正確な URL を手書きしたにもかかわらず、Play フレームワークは私の URL を破棄し、それ自体で作成します。

例は次のようになります。

  • 私の手書きのリクエスト:   http://address/?id=&filter=
  • Play フレームワークのリクエスト:http://address/?id&filter

等号が空の値の場合はオプションであることはよく知っていますが、残りの API を公開しているエンドポイントがそうでない場合、これは重要ではありません。

4

2 に答える 2

1

これはあなたの問題とは直接関係ありませんが、複数のパラメーターを持つメソッドを呼び出す方法を説明したこのGoogle スレッドに出くわしました...

その他のケース:

GET     /nice-test/:id/:name   controllers.Application.test(id:Long,
name:String) will match /nice-test/10/james

GET     /ugly-test             controllers.Application.test(id:Long ?=
0, name:String ?= "") will match /ugly-test?id=10&name=james

どちらも同じアクションに正しく渡されますが、醜いケースはただ...醜いです:

public static Result test(Long id, String name){
    return ok("The "+name+" has id "+id);
}

さらに、両方のケースの URL を同じ方法で作成する必要があります。

<a href="@routes.Application.delete(user.id, user.name)">Show me user</a>

Play を試しながら、ここにさらに書きます。それがいくつかのアイデアを引き起こしたことを願っています。

于 2013-06-24T02:23:57.677 に答える
0

空の文字列を値として設定すると、うまくいくはずです。

 http://address/?id=""&filter=""
于 2013-06-23T12:43:40.810 に答える