OK、最初に使用している場合はユーザーを検証でき@Valid
、着信はUser
json文字列ではなくインスタンスです。それはうまくいきます。
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addUser(@Valid @ModelAttribute("user") User user, BindingResult result) {
userRep.save(user);
return "redirect:/";
}
したがって、問題は、ある種の API を作成し、着信が Json 文字列であり、注釈を自動的に検証するにはどうすればよいかということ@Email
です@NotEmpty
。ベストプラクティスは何ですか?
@RequestMapping(method = RequestMethod.POST, headers = "Accept=application/json")
public ResponseEntity<String> createFromJson(@RequestBody String json) {
User user = User.fromJsonToUser(json);
return new ResponseEntity<String>(user.toJson(),header,HttpStatus.CREATED);
}
ユーザークラス
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotEmpty
@Length(max = 30)
private String firstName;
@Email
@NotEmpty
@Length(min = 3 , max = 50)
private String primaryEmail;
}