了解网络服务:post()/put()/get()/delete()
Understanding web services : post()/put()/get()/delete()
我想了解网络服务的工作原理,我想我需要一些关于我的控制器的帮助。
例如,我正在尝试将用户添加到我的数据库中...
这就是我所拥有的:
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>
任何人都可以 explain/translate 如何连接这个东西?
我会很感激任何例子......
首先不要使用 DynamicForm 当您的表单具有与您的实体相同的结构时 class 意味着当例如使用 DynamicForm 时。如果你想从数据库中搜索用户,那么你的表单将只有一个字段,在这种情况下你可以使用 DynamicForm,你可以从预定义的实体中搜索 field.If 你的表单与你的实体字段具有相同的字段
其次,我认为你误解了实体,即实体是一个 POJO(平面旧 Java 对象)你的 class 代表数据库中的 table 而你的实体名称是 registrationforn,我认为这不太好,您应该将您的实体命名为 User 或 Member。这对您来说完全是可选的但它提供了更好的理解
要保存数据请执行
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。
我想了解网络服务的工作原理,我想我需要一些关于我的控制器的帮助。
例如,我正在尝试将用户添加到我的数据库中...
这就是我所拥有的:
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>
任何人都可以 explain/translate 如何连接这个东西?
我会很感激任何例子......
首先不要使用 DynamicForm 当您的表单具有与您的实体相同的结构时 class 意味着当例如使用 DynamicForm 时。如果你想从数据库中搜索用户,那么你的表单将只有一个字段,在这种情况下你可以使用 DynamicForm,你可以从预定义的实体中搜索 field.If 你的表单与你的实体字段具有相同的字段
其次,我认为你误解了实体,即实体是一个 POJO(平面旧 Java 对象)你的 class 代表数据库中的 table 而你的实体名称是 registrationforn,我认为这不太好,您应该将您的实体命名为 User 或 Member。这对您来说完全是可选的但它提供了更好的理解
要保存数据请执行
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。