2016-06-16 2 views
0

私は最近、カスタムエディタを使用しない限り、@PathVariableをSpringで検証できないことを学びました。適切なメソッドでバリデーションを呼び出すためにSpringでcustomEditorを作成する方法

私は次のリンク https://stackoverflow.com/a/28002325/1787314

からの回答を得たが、(そう例えばName.class CustomerNumber.classと)自分のクラスを必要とするすべての私の@PathVariablesのように思えるし、その意志のクラスの多くだけのために検証。

には、どのメソッドが呼び出されているかに基づいて検証するのに十分なクラス動的を書き込む方法があります。 @PathVariableの名前でgetNameが呼び出された場合 DynamicEditorはPropertyEditorSupportを拡張して名前を検証し、@PathVariableがidの場合は同じEditorが呼び出されますが、今回はIDのみが検証されます。

文句を間違えないようにしたいと思います。私は春の初心者ですので、本当に助けてくれてありがとうございます。

+0

この[投稿](https://raymondhlee.wordpress.com/2015/08/29/validating-spring-mvc-request-mapping-method-parameters/)にアクセスしてください。 Spring MVCリクエストの引数にJSR-303 Validationを使用します。 – Mavlarn

+0

@Mavlarn私はそれを試みたが、それは動作しないようです –

+0

http://sdqali.in/blog/2015/12/04/validating-requestparams-and-pathvariables-in-spring-mvc/ – Mavlarn

答えて

0

まず、regexp for URIを使用して検証することができます。このように:

@RequestMapping("/spring-web/{symbolicName:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{extension:\\.[a-z]+}") 
public void handle(@PathVariable String version, @PathVariable String extension) { 
    // ... 
} 

そして、私はこのpostが、それは春とJSR-303の検証を使用しました。しかし、私はそれを試していない。私はそれが助けることを望む。上記の応答に基づいて

[更新]

、JSR-303の方法は、動作しないようです。
このソリューションはthis postで動作します。

希望すると助かります。

関連する問題