我有很多用 @RestController 注释的 RestController 类并且可以正常工作。但在某种情况下我必须手动添加其中一个。我想我可以在Spring配置类中定义一个bean,这样我就可以定义一个RestService,但是如何定义呢?
例如:
@Configuration
public class Config ..... {
............
@RestController
public MyRestService myRestService() {
if(shouldUseTypeA){
return new MyRestService<TypeA>(myParams);
}else{
return new MyRestService<TypeB>(myParams);
}
}
}
最佳答案
如果 shouldUseTypeA
是您在应用程序启动之前知道的内容,请将其用作 Spring 配置文件并根据激活的配置文件实例化正确的 Controller 。
@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){}
}
关于java - 如何在 Spring 中手动定义 RestController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40375705/