2016-12-12 6 views
0

私は、コントローラがすべてのケースのほとんどで非常に類似しているので、私のようなルートを達成するために、抽象コントローラとサブコントローラと連携したい2つのAPI提供する必要があるため:春ブーツ@RequestMapping継承

を/ SYM /製品
/フロントエンド/製品 "SYM" または "フロントエンド" の部分は

@RestController 
@CrossOrigin 
@RequestMapping("sym") 
public abstract class SymphonyBaseController {} 

とのような抽象スーパークラス(コントローラ)によって生成されなければならない

@RestController 
@CrossOrigin 
@RequestMapping("frontend") 
public abstract class FrontendBaseController {} 

ので、私は何ができる:

ところで
@RestController 
@CrossOrigin 
@RequestMapping("products") 
public class ProductController extends SymphonyBaseController {} 

:?すでにスーパークラスに注釈を付けたときにこれらのアノテーション(@RestControllerと@CrossOriginは)とにかく、必要なサブクラスである)

私の問題: ルートが登録されていません。私はただ一つの経路しか得ていません:/製品

これを修正するには?

本当にありがとうございます。事前に おかげで、まったく同じパラメータの

ティム

答えて

1

値サブクラスのオーバーライド、彼らが蓄積しません。コントローラのパスパラメータは、クラスに定義されているマッピングに追加されます(たとえば、好きな場合は抽象メソッドに/productsを入れることもできます)。ただし、完全なベースパスを指定する必要があります。

+0

よろしくお願い致します。 – Timmay