¿No puede devolver la respuesta JSON usando Play Framework y Postgresql?

Estoy tratando de devolver datos de respuesta JSON de la base de datos Postgresql usando Play Framework (Scala).

He intentado lo siguiente donde no puedo devolver mi salida de respuesta json.

Tengo un par de objetos JSON en mi tabla de base de datos:jsondata, que es tenerid yname. He escrito algunos mensajes impresos, esos vienen como Ninguno, no sé por qué.

El error del compilador dice

Falta el parámetro [id] o [nombre]

No estoy seguro de lo que estoy haciendo mal en mi código para obtener la salida de respuesta JSON para mis objetos JSON de la base de datos (controlador y modelo).

controlador:

import play.api.Play.current
import play.mvc.Controller;           
import play.libs.Json;
import play.libs.Json.*;                        
import com.fasterxml.jackson.databind.JsonNode;
import org.codehaus.jackson.JsonNode;           
import models.Getjsondata
import com.google.gson.Gson
import scala.util.{Try, Success, Failure}

 Getjsondata.getJsonValues(Getjsondata(Json.parse(id)), Json.parse(name));
 class MyController extends Controller {
 def getJson = Action { request =>
    println("calling getJson ... !!")//getting this message on play console
    val body: Anyname = request.body
    val textBody: Option[String] = body.asText
    println("body: "+body);//AnyContentAsEmpty
    println("textBody: "+textBody);//None
    val optionJson = textBody.flatMap(json => Try(Json.parse(json)).toOption)
    val bodyId = optionJson.map(_ \ "id")
    val bodyname = optionJson.map(_ \ "name")
    println("bodyId: "+bodyId);//None
    println("bodyName: "+bodyName);//None
    println("optionJson: "+optionJson);//None
    {
      for {
        id <- bodyId
        name <- bodyname
        json <- optionJson
      } yield {
        println("calling getJson else ... !!")
        val response = Getjsondata.getJsonValues(Getjsondata(id.as[Long],name.as[String]));
        Ok("Json data retrieved successfully: "+response)
      }
    } getOrElse BadRequest("Missing parameter either [id] or [name]")//giving error, not executing the above for loop
  }
  }

modelo:

import anorm._
import anorm.SqlParser._
import play.api.db._
import play.api.Play.current
import play.api.libs.json.{Json,JsValue}
import play.api.db.DB
import play.api.libs.json._
import anorm.~
import play.api.libs.functional.syntax._

case class Getjsondata (
  id: Pk[Long], name: String
)
object Getjsondata {
  val extractor = {
    get[Pk[Long]]("jsondata.id") ~
    get[String]("jsondata.name") map {
      case id~name => Getjsondata(id, name)
 }
 }
  def getJsonValues(jsondata: Getjsondata): List[Getjsondata]= {
  println("addJson getJsonValues page... !")
  DB.withConnection { implicit connection =>
 // SQL("select row_to_json(jsondata) from jsondata");
    SQL("select * from jsondata");
     }
    }
}

Respuestas a la pregunta(0)

Su respuesta a la pregunta