コードの外観から、Object型の配列を使用して自分でJSON文字列を作成しようとしているようです。これが機能しない理由についての私の唯一の推測は、GSON(playで使用されているJSONライブラリ)がそれをキーと値のペアに変換する方法を知らないということです(配列は2次元ですが)。statusArray
では、Stringとそのコンテンツを次のように変更するのはどうでしょうか。
{
"Status": "401",
"Message": "Unauthorized",
"Detail": "No API Key Supplied"
}
それを入れれrenderJSON(statusArray)
ば大丈夫です。
.json
別の方法として、次のような単純なテンプレートを作成できます。
{
"Status": ${status},
"Message": ${message},
"Detail": ${detail}
}
コントローラメソッドから。を介して呼び出しますrender(status, message, detail)
。status
、ここでも文字列ですmessage
。detail
コントローラメソッドの例:
public static void loginFail(final String status, final String message, final String detail) {
render(status, message, detail);
}
テンプレートが呼び出されますloginFail.json
(コントローラーメソッドの名前)。そうすれば、ログインを確認するために必要なロジックでコントローラーメソッドを呼び出すことができます。ログインが失敗したら、loginFail
メソッドを呼び出して、その理由を(ステータス、メッセージ、および詳細を介して)指定します。