私は、play フレームワークと angularjs を使用したライブラリ システムの実装に取り組んでいます。図書館で本を検索すると仮定すると、ユーザーは入力フィールドにキーワード値を入力します。この値は、GET 要求からコントローラーによって受信されます。MySQL データベースで書籍のリストを検索し、それらを json リクエストに変換して、angularjs を使用して実装された検索ページに表示する必要があります。json を使用して結果を 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)
}
}
ここで、List[Book] の結果を Web ページに送信する必要があります