我使用scala和slick的playframework。
在我的dto(dao)中我这样做:
class processDTO @Inject() (protected val dbConfigProvider: DatabaseConfigProvider) extends HasDatabaseConfigProvider[JdbcProfile]
with ProcessTemplatesComponent {
import driver.api._
private val processTemplates = TableQuery[ProcessTemplates]
def getAll(): Future[Seq[ProcessTemplatesModel]] = db.run { processTemplates.to[Seq].result }
}
在控制器中我这样做:
@Singleton
class ProcessesController @Inject() (processDTO: processDTO, actionBuilder: ActionBuilders) extends Controller{
def getProcesses() = actionBuilder.DynamicAction(name = "pureLuck").defaultHandler() {
request =>
processDTO.getAll().map(_.map(result => {
}))
.map(result => Ok(Json.toJson(result)))
}
}
答案 0 :(得分:2)
首先,您需要导入执行上下文。 PlayFramework有自己的背景。添加此导入 play.api.libs.concurrent.Execution.Implicits ._ Play documentation
你还需要从这段代码中返回一些东西:
_.map(result => {})
目前您返回的单位无法转换为json。
答案 1 :(得分:1)
错误告诉您需要知道的内容。在文件顶部添加import scala.concurrent.ExecutionContext.Implicits.global应修复它。
答案 2 :(得分:1)
一个问题是缺乏执行上下文,正如其他人所提到的那样。
从你的json错误开始,你需要实现一个Write converter来将import org.openqa.selenium.WebDriver;
import org.openqa.selenium.safari.SafariDriver;
public class SafariDriverDemo {
public static void main(String[] args) throws InterruptedException {
WebDriver driver;
driver = new SafariDriver();
String baseURL = "https://www.google.com";
driver.get(baseURL);
Thread.sleep(3000);
driver.quit();
}
}
个对象转换为json。