java - 如何重定向到在 play 框架中有 post 方法的 Action

标签 java scala playframework playframework-2.3 scala-2.11

case class ResetPasswordJsonValidation (id : String ,email : String)

object ResetPasswordJsonValidation {

  implicit val resetPasswordRead : Reads[ResetPasswordJsonValidation]= (
        (JsPath \ "email").read(email) and
        (JsPath \ "id").read(id))
(ResetPasswordJsonValidation.apply _)
}

def resetPassword = Action {
    request =>
      request.body.asJson.get.validate[ResetPasswordJsonValidation].fold(

          resetPassword =>
            {
              log.info("id is {}" ,resetPassword.id)
              log.info("email id is {}" ,resetPassword.email)
            }
)
}

在路由文件中

POST   /direct-user/reset-password                      controllers.DirectUserController.resetPassword

这是我用来访问此路线的curl 文件

#!/bin/bash

contentType="Content-type: application/json";

data='{  "id" : "54d3732d-d728-40d3-ae63-b18ab6be8e70" ,
       "email":"bob@example.com"}';
echo "    "
echo "------------------   Sending Data   ------------------"
echo "    "
echo "Content-Type : " $contentType
echo "Data : " $data


echo "    "
echo "------------------     Response     ------------------" 
echo "    "
echo "    "



curl --include --request POST --header "Content-type: application/json"  --data "$data" http://localhost:9000//direct-user/reset-password

现在我想用代码执行此操作意味着我有一个操作 A,其中我需要重定向到 resetPasswordAction 我不知道该怎么做 请帮助我

def A = Action {
    var email:String="bob@example.com"
    var id:String="54d3732d-d728-40d3-ae63-b18ab6be8e70"
    Redirect(routes.DirectUserController.resetPassword())//how can i send email and id parameter to resetPassword as its getting from curl file  
  }

请帮忙

最佳答案

您可以直接调用该方法而不是通过路由对象来调用该方法,而不是重定向,

返回directController.resetPassword()

因为上下文对象(Request、Response、Session 是该线程的本地对象,因此您可以从请求对象获取这些参数)

关于java - 如何重定向到在 play 框架中有 post 方法的 Action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38498235/

相关文章:

java - 玩!框架从现有实体生成 CRUD

java - Play Framework [2.3.0 - Java] 在测试期间访问 play.Configuration.root()

java - 如何使用play框架访问phpmyadmin数据库

java - Android/Java 长数学有时会相差一个小小数

java - 如何获取运行时类路径上资源的文件句柄?

scala - Play Framework Scala : How to Stream Request Body

generics - 如何指定一个泛型函数,其工作方式就像有 Int、Double 等父类(super class)型一样?

java - 将 DefaultComboBoxModel 用于 JComboBox

java - 如何以编程方式在我的 java 类 -Eclipse RCP 中添加enableWhen条件

java - Jvm 需要很长时间才能解析 localhost 的 ip-address