Estoy trabajando en la implementación del sistema de bibliotecas.usando play framework y angularjs. supongamos que para buscar un libro en la biblioteca, el usuario ingresa el valor de la palabra clave en el campo de entrada, el controlador recibe este valor de la solicitud GET. Necesito buscar en la base de datos MySQL la lista de libros, convertirlos a solicitud json y mostrarlos nuevamente en la página de búsqueda que se implementa usando angularjs. No entiendo cómo usar json y enviar el resultado a la página web.
GET /books/all/search/:by/:value controllers.Books.listBooks(by: String, value: String)
case class Book (
bookId: String,
title: String,
author: String,
category:String,
price: Int,
location: String,
status: String
)
object Book{
val bookParse = {
get[String]("book.bookId") ~
get[String]("book.title") ~
get[String]("book.author") ~
get[String]("book.category") ~
get[Int]("book.price") ~
get[String]("book.location") ~
get[String]("book.status")map {
case bookId~title~author~category~price~location~status => Book(bookId,title, author, category, price, location, status)
}
}
def searchByBookId(bookId: String) : List[Book]= {
DB.withConnection {implicit connection =>
SQL("select * from book where bookId = {bookId}").as(Book.bookParse *)
}
}
object Books extends Controller {
def listBooks(by: String, value:String): List[Book] =
{
if (by == "byBookId" ) Book.searchByBookId(value)
else if(by == "byTitle")Book.searchByTitle(value)
else Book.searchByAuthor(value)
}
}
Ahora necesito enviar el resultado de la Lista [Libro] a la página web
Respuestas
2 para la respuesta № 1import play.api.libs.json._
implicit val bookFormat = Json.format[Book]
def listBooks(by: String, value: String) = Action {
val books = if (by == "byBookId" ) Book.searchByBookId(value)
else if(by == "byTitle")Book.searchByTitle(value)
else Book.searchByAuthor(value)
Ok(Json.toJson(books))
}
los implicit val bookFormat
debe estar en el objeto complementario Libro o en el alcance cuando Json.toJson
se llama.
Más documentación sobre JSON:
http://www.playframework.com/documentation/2.2.x/ScalaJson