Google AppEngine ローカル開発サーバーで実行するために、Jersey を使用してテスト メソッドを実装しました。メソッドのシグネチャは次のとおりです。
@GET
public String sayHello(@QueryParam ("name") String id)
次の URL を Web ブラウザーに入力してテストします。
http://127.0.0.1:8888/sayhello?name=bill
、ブラウザは意図した「こんにちは、請求書」の応答を受け取ります。
ただし、この appengine アプリをクラウドにデプロイすると、意図した応答が得られません。名前は "Hello, " として null を返します。受信した QueryParam 値をログに記録したところ、クエリ パラメータがメソッドに渡されていないことが確認されました。
code.rest.impl.Test sayHello: name QueryParam received is:null
@DefaultParam も割り当てると、予想どおり、宣言されたデフォルト パラメータによって null 値が置き換えられます。
デプロイされたクラウド アプリが URL クエリ パラメーターを受信しないのに、ローカル開発サーバーがそれらを正しく受信するのはなぜですか? 変更が必要なセキュリティ構成はありますか?