Spring-MVCとjsonを使用してREST APIを開発中です。 Jettyとメモリ内のデータベースを使用して自動テストを実行しています。無効なドメインオブジェクトを投稿すると@NotEmpty
注釈からのエラーメッセージが表示されることをテストします。しかし、私が得るのは、デフォルトのJetty 400 Bad Requestページです。Spring MVCでのHibernate Validatorメッセージテキストのキャプチャ
私はいくつかの検証を持つドメインクラスを持っている:
@Entity
public class Company {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotEmpty(message = "Name is a required field")
private String name;
/* getters, setters */
}
はここ
@Controller
public class CompanyController {
@RequestMapping(value = "/company",
method = RequestMethod.POST,
consumes = "application/json")
public void createCompany(
@Valid @RequestBody final Company company,
final HttpServletResponse response) {
//persist company
response.setStatus(HttpServletResponse.SC_CREATED);
response.setHeader("location", "/company/" + company.getId());
}
}
コントローラは、どのように私は"Name is a required field"
が応答の一部として返された値を取得することができますか?
しかし、「未解決https://jira.springsource.org/browse/SPR-7114です参照してください" –
これは、ハンドラのメソッドシグネチャ内のオブジェクトの順序に過ぎません。以前はこの問題がありました。あなたがする必要があるのは、それらを特定の順序( 'BindingResult'から' Model')にして問題がなくなるだけです。 – atrain
私の元のポストによると、私はモデルを使用していないし、春のフォームtaglibも使用していません。 –