簡體   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