私はJerseyを使用してScalaでJAX-RSサービスを実装しています。Jsonプロバイダーの一般的な特性が必要であり、要求されたクラスがプロバイダーによってサポートされているかどうかを知る必要があります。Javaでは、型消去のため、実行時に型パラメーターのクラスを知ることはできません。しかし、scalaで行うことは可能ですか?
このコードは機能しません:
trait JsonProvider[A] extends MessageBodyReader[A] with MessageBodyWriter[A] {
final def isReadable(t : Class[_],
genericType: Type,
annotations: Array[Annotation],
mediaType: MediaType): Boolean = {
t.isAssignableFrom(classOf[A]) && mediaType == MediaType.APPLICATION_JSON_TYPE
}
}
なにか提案を?Javaでの最良の方法は、ScalaでもAのクラスを返す保護された抽象メソッドを持つことです。