了解Web服务:post()/ put()/ get()/ delete()

时间:2015-02-12 10:34:18

标签: post playframework get put

我正在尝试了解网络服务是如何工作的,我想我需要一些帮助我的控制器。
例如,我正在尝试将用户添加到我的数据库中...
这就是我所拥有的:

 public static Result addUser(){

        DynamicForm form = Form.form().bindFromRequest(); 
        String url = "http://my-url-qqq";

        WSResponse response;
        WSRequestHolder holder = WS.url(url);

        holder.setHeader("Cookie", "sessionid="+ session("sessionid")); 
        Map<String,String> anyData = new HashMap();
        JsonNode content = response.asJson();

        // how can i put all this things togeter 
        //to put the elements from my form in 
        //my database ... ?
        //and what is the role of all the pieces ?

        return ok(index.render("Bello! Now you can log in!"));
    }

我有这个模特:

@Entity
public class registerForm extends Model {


    //for registration
 @Id
    public String Id;
    public String username;
    public String first_name;
    public String last_name;
    public String password1;
    public String re_password1;
    ....
}

路线:

  GET     /register                    controllers.Application.register()
  POST    /register                    controllers.Application.addUser() 

和我的html表单:

    <form action="@routes.Application.addUser()" method="POST">    
        <div class="col-md-offset-1 col-md-4">
        <h3><b>Register : </b></h3>
        <br>
        Username :
        <input type="input" name="username" class="form-control"><br>
        First Name :
        <input type="input" name="first_name" class="form-control"><br>
        Last Name :
        <input type="input" name="last_name" class="form-control"><br>
         Email :
        <input type="input" name="email" class="form-control"><br>
        Password:
        <input type="password" name="password" class="form-control"><br>
        Repeat Password : 
        <input type="password" name="re_password" class="form-control"><br>
        <input type="submit"  class="btn">
        <br><br><br><br>
       <h2> ^_^ : have fun .</h2>
     </div>
     </form>

任何人都可以解释/翻译如何连接这些东西吗? 我会感激任何一个例子......

1 个答案:

答案 0 :(得分:0)

当您的表单具有与您的实体类相同的结构时,首先不要使用 DynamicForm ,这意味着在For for时使用DynamicForm。如果你想从数据库中搜索用户,那么你的表单将只有一个字段,在这种情况下,你可以使用DynamicForm,你可以从预定义的实体字段搜索。如果你的表单有像你的实体字段相同的字段

其次我认为你误解了实体,即实体是POJO(平面旧Java对象),你的类代表数据库中的一个表,你的实体名称是 registrationforn ,我觉得你看起来不太好您的实体,例如用户会员。这对您来说完全是可选的,但可以让您更好地理解

保存数据

public static Result addUser(){

        registerForm user = Form.form(registerForm.class).bindFromRequest().get; 
        user.save();   //and the data is saved
        return ok(index.render("Hello! Now you can log in!"));
    }

删除,查找实体等检查Play Ebean Sample Application