2016-09-04 8 views
1

私は春にバリデータがあることを知っています。ただし、これらのバリデータは1つのオブジェクトにのみバインドできます。リクエストボディにPojoと言ってください。ただし、取得リクエストがあり、日付範囲を検証したいシナリオがあります。開始日と終了日は@requestparamsです。これらをどのように検証すべきですか?@requestparamの依存パラメータを春のRest APIで検証する方法を教えてください。

また、同じ@restcontrollerのためにバリデータが適用されています(投稿要求の場合はEmployeevalidtor)。同じ@restcontrollerの異なるオブジェクトに対して複数のバリデータを呼び出すことはできますか?

答えて

0

個別のバリデータを使用することはできますが、検証する対象のオブジェクトを渡すことで手動でインスタンス化する必要があります。

+0

したがって、私は、employdtoにバインドされたemployeevalidatorをrequestパラメータに渡すことができます。 @restcontroller getメソッドでは、リクエストパラメータに対して、これらのリクエストパラメータを使用してドットを作成できます。このdaterangedtoはバリデーターを持つことができます。バリデータの検証メソッドで日付範囲を検証し、エラーを追加しました。しかし、それは悪い要求エラーを投げておらず、処理を続けました。あなたに例を挙げてもらえますか? – javaso

0

リクエストバインディングの検証についてお話していると思います。同じバリデーションは、@ ValidateParamと@PathVariablesのためのSpring Validatorsで取得できます。this post

ここに関連記事を追加してください。

@RestController 
@Validated 
public class RegistrationController { 
@RequestMapping(method = RequestMethod.GET, 
     consumes = MediaType.APPLICATION_JSON_VALUE, 
     produces = MediaType.APPLICATION_JSON_VALUE 
) 
@ResponseStatus(HttpStatus.OK) 
public Map search(@Email @RequestParam("email") String email) { 
    return emailMessage(email); 
} 
} 

注意(もメソッドレベルで宣言することができる)クラスレベルで@Validated方法:コントローラは次のようになります。

関連する問題