gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 01:35:49 25 4
gpt4 key购买 nike

我试图在现有的 spring boot 应用程序中使用 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 Controller 。您需要对您的设置进行一些更改。

  1. 将 JerseyConfig 的注释从 @Component 更改为 @Configuration 并添加要扫描的 Controller 包

    //扫描资源包中你的资源/restControler
    公共(public) JerseyConfig()
    {
    //其他代码
    包(package_of_your_rest_controller);
    }

  2. 将其余 Controller 的注释从 @ReuestMapping 更改为 @Path例如。如果你的 Controller 是这样的:

    @RestController@成分公共(public)类 MyRestController {

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

    }

    就变成这样了:

    @路径(“/”)@成分公共(public)类 MyRestController {

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

    }

如果可以的话,尝试一下。

关于java - JerseyConfig 在 Spring Boot 应用程序中覆盖 @RestController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57520654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com