Java 如何在Spring中手动定义RestController?

Java 如何在Spring中手动定义RestController?,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有很多用@RestController注释的RestController类,它们工作正常。但在某种情况下,我必须手动添加其中一个。我想我可以在Spring配置类中定义一个bean,所以我可以定义一个RestService,但是如何定义呢 例如: @Configuration public class Config ..... { ............ @RestController public MyRestService myRestService() {

我有很多用@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);            
        }
    }
}
@配置
公共类配置。。。。。{
............
@RestController
公共MyRestService MyRestService(){
如果(应使用类型A){
返回新的MyRestService(myParams);
}否则{
返回新的MyRestService(myParams);
}
}
}

如果在应用程序启动之前您知道
应该使用类型a
,请将其用作Spring配置文件,并根据激活的配置文件实例化右控制器

@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){}
}
@配置
公共类配置。。。。。{
//A型
@简介(“应使用类型A”)
@RestController
公共类TypeAsService扩展MyRestService(myParams){}
//否则为B型
@配置文件(“!shouldUseTypeA”)
@RestController
公共类TypeBService扩展MyRestService(myParams){}
}

@RestController
注释
MyRestService
,并简单地用
@Bean
注释方法。为什么不在方法中使用@responsebody呢。@Ramananoj我用过,问题是别的