繁体   English   中英

JerseyConfig在Spring Boot应用程序中覆盖@RestController

[英]JerseyConfig overrides @RestController in spring boot application

我试图在现有的JerseyConfig引导应用程序中使用JerseyConfig类,但是由于某种原因,当我添加此配置时:

    @Component
    public class JerseyConfig extends ResourceConfig  {
    public JerseyConfig() {
         register(Users.class);
         register(Groups.class);
         property("SCIM_IMPLEMENTATION_INSTANCE", new JerseyApplication());
      }
    }

@RestController端点不再像扩展那样工作。 在应用此JerseyConfig类之后,它们全部返回404。 所有Jersey端点均正常运行。

我可以在同一应用程序中使用JAX rs终结点(在我的情况下使用Jersey)和@RestCotroller吗? 我需要一些配置,以将现有的REST服务与新的JAX rs端点分离。 如果有人可以提供帮助,我将非常感激。 谢谢!

有一个解决方案,可以将Jersey资源和Spring控制器组合在一起。 您需要对设置进行几处更改。

  1. 将JerseyConfig的注释从@Component更改为@Configuration并添加要扫描的控制器程序包

    // scan the resources package for your resources / restControler public JerseyConfig() { // other code packages(package_of_your_rest_controller); }

  2. 如果您的控制器是这样的,请将rest控制器的注释从@ReuestMapping@Path例如:

    @RestController @Component公共类MyRestController {

     @RequestMapping("/foo") public String foo() { return "foo"; } 

    }

    变成这样:

    @Path(“ /”)@Component公共类MyRestController {

     @Path("/foo") public String foo() { return "foo"; } 

    }

如果可以,请尝试一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM