2011-01-12 15 views
5
私は今、私は

Spring MVCの要求マッピング規則

RegistrationController { 
    @RequestMapping(value="/registerMerchant") 
    ... 
    @RequestMapping(value="/registerUser") 
    ... 
} 

持っ

私のアプリケーションで要求のマッピングを行うには良い大会に来るようにしようとしています

が、このありえない理想のURLあなたを見て以来、コードのためにRegistrationControllerを見ることを知らないかもしれません。私が働いて見てきたプログラムで

/registration/registerMerchant 
/registration/registerUser 

答えて

8

ないが、パターンのこの種:

@Controller 
@RequestMapping(value="/registration/**") 
RegistrationController { 
    @RequestMapping(value="**/registerMerchant") 
    ... 
    @RequestMapping(value="**/registerUser") 
    ... 
} 

これらのマッピングのがそれらを作る私はprogrammitically コントローラ名を付加することができる方法はあります

これまで言われていたように、私は、これが過度に難しいと私が期待していた方法で働くことがわかった。ただし、とすることができます。

+0

上記のパターンは使いにくいですか?どうして?また、私はまだこの大会に結婚していません、あなたはリクエストマッピングを行うための他の元気な方法をお勧めできますか? – mkoryak

+1

@mkoryak:理解しやすいですが、Spring MVCはそれが少しでも間違っていても診断することができません。それは私が出会った最高のパターンです。 – skaffman

+1

これは少し苦しいことに同意します。ここで重要な点は、クラスレベルの@RequestMappingを使用した後、メソッドレベルの注釈が/で始まらないことを確認することです。 – GaryF

4

私は/ **メソッドレベルであまりノイズが多いと思います。別の注記では、より多くの名詞と少ない動詞のように、URIをより多くのRESTにすることができます。

@Controller 
@RequestMapping("/services") 
public class RegistrationController { 

    @RequestMapping(value = "/merchant/register") 
    public void processMerchantRegistration() { 

    } 

    @RequestMapping(value = "/user/register") 
    public void processUserRegistration() { 

    } 

} 
関連する問題