データベースに単純なオブジェクトを挿入しようとしていますが、コントローラにLocalDate
パラメータを送信できません。LocalDateをパラメータとして受け取る方法
このエラーはmalformed request syntax, invalid request message framing, or deceptive request routing
と表示されていますが、このLocalDate
パラメータが原因であることは間違いありません。
私のコントローラ
@RequestMapping(value = "/finance",method = RequestMethod.POST)
public String postFinance(@ModelAttribute("finance")
Finance finance, Model model){
financeServices.targetActivate(finance);
model.addAttribute("targetSetStatus",true);
return "finance/finance";
}
金融エンティティ
@Entity
public class Finance {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private LocalDate targetDate;
private Double targetAmount;
private LocalDate createdDate;
//getter setters //
}
EDIT: - :
<form class="form-horizontal" id="productForm"
th:action="@{/finance}" method="post">
<div class="form-group">
<div th:if="${targetSetStatus}">
<div class="alert alert-success">
<p>New Target Has Been Set</p>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3"
for="targetAmount">Target Amount:</label>
<div class="col-sm-9">
<input type="number" class="form-control"
placeholder="Targeted Amount"
name="targetAmount" id="targetAmount">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3"
for="targetDate">Target Date:</label>
<div class="col-sm-9">
<input type="date" class="form-control"
placeholder="Targeted Date"
name="targetDate" id="targetDate">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<button type="submit" class="btn btn-default">Set Target</button>
</div>
</div>
</form>
- 私は私の形が見えるように、フォームから挿入しようとしています
LocalDateをjava.util.Date
に置き換えると動作しますが、LocalDateをjava 8が提供するAPIを使用したいとします。
ベースのサポートを見て、[プル要求および解像度]を参照してください(https://github.com/spring-projects/spring-boot/pull/9930)。その間、[この質問を参照](https://stackoverflow.com/questions/44924656/how-to-register-global-databinding-for-localdate-in-spring-mvc)。 –