-1
私はsolidな接続を確立したローカルのOracleデータベースを持っています。今、私はちょうどそのデータを処理するためにコントローラを使用してHTML入力フォームからデータをPOSTしたいと思います。フォームからデータベースへのhtml入力値の受け渡し方法(Springboot)
私のフォームは次のようになります。
<form action="/request/save" method="post">
<input type="text" id="dateInput" name="requestDate" value="1" style="display: none;"/>
<input type="text" name="description" value="This is a test request." style="display: none;"/>
<input type="text" name="status" value="false" style="display: none;"/>
<div style="width: 200px;"><input type="submit" value="Submit Request" style="display: block;"></div>
</form>
コントローラー:
@RequestMapping(value = "/save", method = RequestMethod.POST)
String saveRequest(Principal principal, @ModelAttribute Request request, Model model) {
// Set UserId to Request Field USER_ID
Users user = usersRepository.findOneByInitialName(principal.getName());
Request requestObj = new Request(user, new Date());
requestObj.setId(user.getId());
// Set Additional Request Fields
requestObj.setDescription("Test");
requestObj.setStatus(false);
requestObj.setRequestDate(new Date());
// Save Request Object
requestRepository.save(requestObj);
return "requests";
}
エンティティ(補完用):
私は、フォームからの私へデータを送信することができますどのように@Entity
public class Request {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="request_id")
private Long id;
private Date requestDate;
private String description;
private Boolean status;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="user_id", nullable = false)
private Users users;
public Request() {}
public Request(Users user, Date requestDate) {
this.setUsers(user);
this.setRequestDate(requestDate);
}
@Override
public String toString() {
return String.format(
"Request[id=%d, inital='%s', requestDate='%s']",
getId()
, getUsers().getInitialName()
, getRequestDate());
}
public Date getRequestDate() {
return requestDate;
}
public void setRequestDate(Date requestDate) {
this.requestDate = requestDate;
}
public Boolean getStatus() {
return status;
}
public void setStatus(Boolean status) {
this.status = status;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Users getUsers() {
return users;
}
public void setUsers(Users users) {
this.users = users;
}
}
データベース?
エラー:
Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.
これを私のフォームの '' ''に追加しました。私はまだエラーが発生しています。要求ヘッダーにcsrfフィルターを追加すると、コードのように見えますか? – santafebound