2016-11-02 11 views
2

@RestControllerを注釈して正しく動作するRestControllerクラスがたくさんあります。しかし、ある状況では、それらの1つを手動で追加する必要があります。 SpringコンフィグレーションクラスでBeanを定義できると思いますので、RestServiceを定義することはできますが、どうすればよいですか?例えばSpringでRestControllerを手動で定義する方法はありますか?

shouldUseTypeAあなたが知っている何かがアプリケーションが起動する前に、ある

@Configuration 
public class Config ..... { 

    ............ 

    @RestController 
    public MyRestService myRestService() { 
     if(shouldUseTypeA){ 
      return new MyRestService<TypeA>(myParams); 
     }else{ 
      return new MyRestService<TypeB>(myParams);    
     } 
    } 
} 
+0

'@ RestController'で' MyRestService'をアノテーションし、 '@Bean'でメソッドに注釈を付けます。 –

+0

あなたのメソッドに@responsebodyを使用してみませんか? –

+0

@RamanaManoj私が使った、問題は他に何か – Pooya

答えて

1

場合は、春のプロファイルとしてそれを使用し、活性化プロファイルに従って右のコントローラをインスタンス化します。

@Configuration 
public class Config ..... { 

    // Type A 
    @Profile("shouldUseTypeA") 
    @RestController 
    public class TypeAService extends MyRestService<TypeA>(myParams){} 

    // Otherwise type B 
    @Profile("!shouldUseTypeA") 
    @RestController 
    public class TypeBService extends MyRestService<TypeB>(myParams){} 
} 
関連する問題