2016-07-06 1 views
0

次のコードがあります。私は私が欲しいものcaseクラス - 別の値のパラメータを返す

return HttpMessage("http.message.invalid.input", Messages("The provided input is not valid")) 

のようなクラスを使用しています。この時点で

case class HttpMessage(key: String, message: String) 

object HttpMessage { 
    implicit val jsonFormat = Json.format[HttpMessage] 
} 

はこのような何かへの呼び出しを変更することです:

return HttpMessage("http.message.invalid.input") 

私がするかどうかはわかりません私はメッセージを修正することができない限り、これは。私は実際にvalの両方を格納する別のオブジェクトを作成し、別のcase classを使用してそれを構成し、1つのパラメータkeyだけを作成したいとは思わない。

リターンは

{ 
    "key": "http.message.invalid.input", 
    "message": "The provided input is not valid" 
} 

任意のアイデアでなければなりませんか?

答えて

2

"http.message.invalid.input"というメッセージが表示されるのは、あなたの質問からは明らかではありませんが、おそらくそれを行う方法があります。このようにすれば、HttpMessage("http.message.invalid.input")を呼び出すことができるようにdef apply(key: String): HttpMessage = HttpMessage(key, getValueFromKeySomehow(key))object HttpMessageに追加することができます。

+0

ありがとうございました!これの背後で実際に何が起こっているのか説明できますか? – tzortzik

関連する問題