2016-08-10 3 views
0

私は、コントローラーマップ内に1つの機能を複数のURLから数文字だけ異なるようにする必要があります。 URL1:NPP/V0 /会員 URL2:NPP /塩酸/ V2 /会員スプリングブートrequestmapping regex

  1. は、これらの2つの文字列を許可する方法はありますか?
  2. 何かパターンを許可したいのですが?

ありがとうございます。

答えて

2

ただ2つの文字列を許可すると、@RequestMappingの "path"属性を使用することを意味します。これは、文字列の配列を許可するためです。

@RequestMapping(path = {"/npp/v0/membership", "/npp/hcl/v2/membership"}) 
public void membership() { } 

ワイルドカードにしたい場合は、あなただけのAntの表現を使用する必要があります。

@RequestMapping(path = "/npp/**") 
public void npp() { } 

あなたが使用されたパスの詳細をしたい場合は、そのことができますHttpServletRequestオブジェクトを調べる必要がありますメソッドに渡されています。

+0

@RequestMapping(path = "/ npp/**/membership")を使って "membership"で終わることもできますか? –

+1

以前に試したことがありません。私の推測しかし、それは本当に[AntPathMatcher](http://docs.spring.io/autorepo/docs/spring-framework/current/javadoc-api/org/springframework/util/AntPathMatcher.html)を使用している場合は動作するはずです) –

関連する問題